The course contains the basis for developing components using methods based on model-driven architecture (MDA) and component-based development (CBD). During the tutorials and project assignments, the participants will learn a model driven method for component design. During the project assignments Enterprise Java Beans (EJB) components will be implemented based on technology and platform independent models. The course also contains an introduction to service oriented computing (SOC) and service oriented architecture (SOA). Required prior knowledge : - Objektorienterad analysis and design with UML - Good skills in object-orientered programming with Java - Relational databses and SQL × Model-driven Architecture (MDA) is a system development approach, in which the business logic is separated from the technology and platform specific parts of a system. Using MDA, a system is modelled in different levels of abstraction, by utilising standards for metadata representation, e.g. UML and MOF. This facilitates the reuse of models, and the automated generation from technology and platform independent models to technology and platform specific models. × Component-based Development (CBD) is an approach for developing components, which can be used as building blocks in systems. Components are commonly running inside a specific component server in order to achieve efficient transaction handling and high scalability. CBD requires a new approach to system design, as well as knowledge about the component servers required to build high-performance systems. Brief course contents: - Model-driven architecture (MDA) - Metadata and metamodels - Standards for metadata representation: Unified Modeling Language (UML), Meta Object Facility (MOF) and Common Warehouse Metamodel (CWM). - Component-based development (CBD), important design principles. - A model-driven method for component analysis and design. - Component environments and servers: Microsoft .net Enterprise Services/COM+, Enterprise Java Beans (EJB). - Principles and standards for development of services (SOAP, UDDI, WSDL, SOA)
Intended learning outcomes *
An advanced level course in model-driven architecture, object-oriented analysis, and component-based development, and how these can be combined to develop component-based systems. After the course the participants should be able to: 1) Explain how several layers of models can be used for system construction by doing model transformations. 2) Use component based design principles and be able to explain how (and why) these differ from object-oriented principles. 3) Systematically be able to use models and component based design principles to design and construct systems. 4) Be able to explain the advantages of component servers, such as transaction handling and scalability, and know the basic features of the component technologies EJB, COM+ and .net. 5) Explain the structure/architecture of service oriented systems, and the basic principles behind service-orientation (SOA). 6) Know about the basic standards needed for model based development (MOF, CWM and XMI).
- 12 lectures on MDA and component based development - 2 project assignments consisting of analysis, design and implementation of a component based system. The assignment is carried out in groups. - Tutorial on enterprise java bean development. - Tutorial using a model-driven development tool. - Individual assignment on MDA.
Literature and preparations
Specific prerequisites *
For single-course students:
Bachelor degree/180 hp (120 old credits) in information technology, information systems, computer science or computer and systems sciences.
- Object oriented analysis and design with UML - Good skills in object-orientered programming with Java - Relational databases and SQL