I want to talk about the structure and content of the European Master Program
IMSE (International Master in Service Engineering) with the support of Erasmus Mundus. It will be interesting:
- those who are going to enroll in this program (admission is possible until January 15, 2013)
- everyone who wants to get an idea about education in Europe
I will also provide links to literature on the topic for those who may want to learn something new.
Introduction
You could read about the IMSE program in the following article -
Erasmus Mundus Scholarship for Higher Education in Europe It describes the process of receiving and receiving scholarships, household details and impressions. I want to concentrate on academic aspects.
In the first semester, which takes place at the University of Stuttgart (Germany), the following subjects are taught:
- Poorly connected and messaging-based applications (Loose-coupled and Message-based applications)
- Service Oriented Computing (eng. Service Oriented Computing)
- Business Process Management
- Data Warehouse Technologies, Data Mining and OLAP (Data warehouse, Data mining and OLAP technologies)
- Cloud Computing (Eng. Cloud Computing)
Note: I tried to translate into Russian as accurately as possible, but I do not guarantee that the translation of terms is generally accepted.
')
Description of the educational process
Each subject is represented by three forms of classes: lectures, exercises and practice. A distinctive feature - the subjects are taught one by one, that is, the first two weeks - one subject, the next two - the other, etc.
Lectures are based on slides and are conducted by professors in the form of presentations.
Exercises are conducted by graduate students (people who receive or have received a PhD under the guidance of a professor) and consist of practically oriented tasks and problems. As a rule, exercises are published in advance, and students have time to prepare. However, if you are not ready, do not worry, since the degree of participation in the lesson depends on your desire and interest. Even in the case when none of the students is able to solve the problem, the graduate student provides his own solution and explains how this solution was obtained. Exercises are required to participate and have a little influence on the assessment on the exam.
Practice is a task that is solved by students independently, as a rule, in groups. To present the results, the group should prepare and conduct a presentation. As a rule, it is required to explain the principles of the solution, the operability of the solution and provide the source codes (if applicable).
Examinations are oral and rather serious, since the volume of material is quite large. For example, because the first three subjects are related, they are led by the same professor. He also takes exams. The volume of material in these three subjects, about 3000 detailed slides, plus additional sources that may be needed to understand some aspects.
So, we go to the subjects.
Loose-coupled and message-based applications
Objective: to teach the principles of creating loosely-related applications and applications based on the exchange of messages.
Prof: Prof. Dr. Frank LeymannDescription: At the core of the subject is the concept of so-called message-oriented middleware and the concept of EAI (Enterprise Application Integration). Integration of large enterprise applications is one of the main ways of applying the techno nologies described in this course. Message-oriented middleware is an application stack that provides, for example, message queues and other components for processing and moving messages. To perform tasks, use JMS and ActiveMQ or a message queue built into the application server. Basically, all examples are provided for java, as it is the de-facto standard for enterprise-level applications.
The main use case: how to integrate various enterprise applications so that they work together and at the same time can evolve without disrupting the work of other applications. For example, integration of a CRM system with an inventory system, with a database of employees, given that they can all be provided by different vendors or legacy applications.
Interesting problems and their solutions from the subject:- how to receive and deliver data to an application whose source code is not available
- how to test message based applications
- Creation of ESB (Enterprise Service Bus) , as a bus for access to all functions of the enterprise. Example, WSO2 ESB and the entire wso2 product line for web services and business processes
Literature:- M.Hapner, R.Burridge, R.Sharma β Java Messaging Service API Tutorial and Reference β, Addison-Wesley, 2002 - all about JMS, very useful during programming.
- Hohpe G., Woolf B. β Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions β Addison-Wesley 2004 - the book tells about the basic patterns, best practices for building systems based on messages.
Service Oriented Computing
Objective: to teach the principles of web services and best practices for creating REST (to a lesser extent) and SOAP (to a greater degree) web services.
Prof: Prof. Dr. Frank LeymannDescription: The World Wide Web architecture, various technologies are considered: scripting languages, Java2EE, HTML, WML, CSS, JS, AJAX, technologies for creating web services in Java and most of the SOAP standards.
By the way, SOAP is not Simple Object Access Protocol. Starting with version 1.2, this is just SOAP, the messaging architecture (see previous item).
The main use case: how to use components in such a way as not to depend on the environment and work with them through a unified interface.
Interesting problems and their solutions from the subject:- how to formalize the description of REST services - WADL (vs. WSDL)
- how to transfer binary data to XML avoiding 33% overhead for base64 - XOP
- UDDI to search for web services and why it did not work on the Internet
- how to link web services in a transaction using WS-Coordination . Example, from the lecture implementation 2 phase commit protocol for heterogeneous and remote web services.
Literature:- Sanjiva Weerawaran, Francisco Curbera, Frank Leymann, Tony Storey, Donald F. Ferguson β Web Services Platform Architecture: SOAP, WSDL , WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and Moreβ, Prentice Hall, 2005
- E. Wilde β World Wide Web β, Springer, 1999
- MP Papazoglou β Web Services: Principles & Technology β, Pearson Education Limited, 2008
- DA Chappell β Enterprise Service Bus β, O'Reilley, 2004
- NM Josuttis β SOA in Practice: The Art of Distributed System Design β, O'Reilly, 2007
Business Process Management
Objective: to teach the principles of identification, implementation and optimization of business processes.
Prof: Prof. Dr. Frank LeymannDescription: It is considered what is a business process, how to model, document, identify, automate business processes and manage them. Best practices on these activities. To analyze business processes, the following subject is useful (Data warehousing. Data mining and OLAP).
The main use case: how companies can control the business process and optimize costs, improve product quality by optimizing and automating business processes.
Interesting problems and their solutions from the subject:- how to separate business logic from the application
- creating your business process as a program on BPEL and deploying it using WSO2 Business Process Server . An example of practical training is the creation of an online store where the business process is busy with the logic of order processing, and the web-end just draws a presentation and transfers the parameters.
- By the way, the business process is deployed as a SOAP web service. So aggregation of business processes and services is possible. Using the WSO2 ESB and WSO2 app server, you can create a proxy to deploy a business process as a REST service.
- Meta model for business processes - Petri Nets
- Graphic representation of a business process using BPMN . Since version 2.0, BPMN diagrams can be executable.
Literature:- F.Leymann, D.Roller β Production Workflow β, Prentice Hall, 2000 is a good book on business processes.
- M.Weske β Business Process Management - Concepts, Languages, Architectures β, Springer, 2007
Data warehouse, Data mining and OLAP technologies
Objective: to teach the principles of the organization of the Data warehouse, data analysis using data mining algorithms and OLAP
Prof: Prof. Dr.-Ing. habil. Bernhard mitschangDescription: Consider how to efficiently store data, how to transform it for analytics, and how to obtain and normalize data from operational databases. The next stage is the analysis of the obtained data in various ways.
The main use case: how companies can improve the quality of their decisions, based on the information and knowledge obtained through the analysis of operational data.
Interesting problems and their solutions from the subject:
- standard problem solved by the association rules discovery - determining which products in the supermarket are usually bought together
- theory of OLAP and multidimensional data models. Support OLAP and Datamining in SQL.
- during practical exercises, performing OLAP & DM tasks using DB2, IBM InfoSphere, IBM Cognos and other software.
Literature:- WH Inmon β Building the data warehouse β, Wiley Publishing, Inc., 2005 - the book contains a lot of theory about warehous.
Cloud computing
Objective: to give an idea of ββthe various modern technologies and directions in the field of cloud computing
Prof: Prof. Dr. Dr. hc Kristof KloecknerDescription: This is a special course, as Professor Clockner flies in from the USA to read it. As a rule, he does not do it alone, but invites various people from the industry to make presentations on the topic. As a result, it turns out a sort of mini-conference. According to the results of the lecture, you need to write an essay on the chosen topic and prepare a presentation.
Main use case: how companies can reduce costs by transferring their infrastructure to the cloud
Interesting:- One of the presentations showed a demo version of the thing, which, according to a diagram describing the architecture of the application, deploys the server for it in the cloud. It can also determine the architecture of an application that is already in the cloud - something like reverse engineering. An example of an application that was deployed during the demonstration is SugarCRM. What struck: the configuration of all servers and packages (yes, no pre-prepared images) occurs automatically. An OS image is installed, then packages, then an application, then all servers start and you can use it. It takes everything about everything - a few minutes. Made with TOSCA , Chef & JuJu
- There is a open-source implementation of the cloud, which can be installed in Ubuntu Server - OpenStack .
Literature:- Andrew Tanenbaum, Maarten van Steen: Distributed Systems. Principles and Paradigms , Prentice-Hall 2009
- www8.cs.umu.se/~elmroth/papers/ibmjrd2009.pdf
- www.davidchappell.com/CloudPlatforms--Chappell.pdf
Note: there is quite a bit of good literature on the last subject.