Service Oriented System Integration

A tantárgy neve magyarul / Name of the subject in Hungarian: Szolgáltatásorientált rendszerintegráció

Last updated: 2016. november 11.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
Műszaki Informatika MSc, Alkalmazott Informatika főspecializáció
Course ID Semester Assessment Credit Tantárgyfélév
VIIIMA04 1 2/1/0/v 4  
3. Course coordinator and department Dr. Simon Balázs,
Web page of the course https://www.iit.bme.hu/~soi/en/
4. Instructors

Dr. Balázs Simon, senior lecturer, Department of Control Engineering and Information Technology

5. Required knowledge
  • Operating systems
  • Computer networks
  • XML
6. Pre-requisites
Kötelező:
NEM ( TárgyEredmény( "BMEVIAUM208" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIIIM140" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény( "BMEVIMIM234" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUM208", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIIIM140", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény("BMEVIMIM234", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVIIIMA27", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIIIMA27", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:

Recommended: Operating systems, computer networks, software technology

7. Objectives, learning outcomes and obtained knowledge

The goal of this course is for students to:

  1. deepen their understanding of Service-Oriented Architecture
  2. get familiar with designing services and business processes,
  3. learn about web services and the related standards,
  4. learn about the BPEL and BPMN standards for describing business processes
  5. learn about the capabilities of an ESB
  6. be able to create web services on different platforms (.NET and Java)
8. Synopsis

1. Service-Oriented Architecture (SOA)

History of SOA in the light of earlier technologies (distributed object-orientation, distributed components). The definition of SOA, the principles of SOA.

 

2. Web services

XML namespaces, Web Services Description Language (WSDL), communication protocol of web services (SOAP).

 

3. Developing web services

Web service APIs: .NET Windows Communication Foundation (WCF), Java API for XML-based Web Services (JAX-WS)

Practice: creating a simple web service in .NET and in Java, examining the WSDL interface, logging and examining SOAP messages

 

4. Developing complex web services

Enabling middleware (WS-*) protocols for web services: configuration (WS-Policy), addessing (WS-Addressing), reliable messaging (WS-ReliableMessaging), secure messaging (WS-Security, WS-SecureConversation)

Practice: creating a complex web service in .NET and in Java, examining WS-Policy configurations, logging and examining complex SOAP messages

 

5. Lightweight web services

The REpresentational State Transfer (REST) technology and its principles, comparison of REST and web services

 

6. Developing lightweight web services

REST API-k: .NET-ben a Windows Communication Foundation (WCF), Java-ban a Java API for RESTful Web Services (JAX-RS), JavaScript Object Notation (JSON)

Practice: creating simple REST services in .NET and in Java, logging and examining messages

 

7. Design and development guidelines for web services

Advantages and disadvantages of bottom-up (code first) development, advantages and disadvantages of top-down (WSDL first) development, hybrid development, interface design principles, versioning interfaces, architectural consideration of Java and .NET applications

 

8. Testing web services

Principles of testing web services, unit testing, integration testing, regression testing, running external test, test frameworks

Practice: testing complex web services with different methods

 

9. Describing executable business processes

Elements of the Business Process Execution Language (BPEL) language, connection of BPEL with web services

Practice: designing a simple BPEL process, calling external web services from the process

 

10. High level description of business processes

The Business Process Modeling Notation (BPMN) language, comparison of BPMN and BPEL, mapping BPMN processes to BPEL

Practice: designing a simple BPMN process and making it executable

 

11. Integration tasks

The Enterprise Service Bus (ESB) for integrating various technologies (database, FTP, SMTP, web services, etc.), routing and transforming messages, processing events, management

Practice: integration using an ESB, including message transformation and event handling

 

12. Business rules and human tasks

Outsourcing frequently changing business rules from the process, accessing human activities from processes

 

13. SOA tools and frameworks

Comparison of the most important SOA tools and frameworks in the industry

 

14. Homework submission

Checking the homeworks of the students

9. Method of instruction Lecture and practice
10. Assessment

a. In lecture term:

During the semester a homework has to be completed. The condition for acquiring a signature is the acceptance of the homework.

b. In exam term:

Written exam for those who acquired a signature.

11. Recaps

Recap of the homework is possible on the replacement week, subject to paying a fee.

12. Consultations

Based on the demand, appointed with the lecturer.

13. References, textbooks and resources
  • Thomas Erl: Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall (April 26, 2004), ISBN-10: 0131428985, ISBN-13: 978-0131428980
  • Thomas Erl: Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall (August 12, 2005), ISBN-10: 0131858580, ISBN-13: 978-0131858589
  • Thomas Erl: Service-Oriented Architecture: Principles of Service Design, Prentice Hall (July 28, 2007), ISBN-10: 0132344823, ISBN-13: 978-0132344821
  • Thomas Erl: Service-Oriented Architecture: SOA Design Patterns, Prentice Hall (January 9, 2009), ISBN-10: 0136135161, ISBN-13: 978-0136135166
  • Thomas Erl: SOA Governance: Governing Shared Services On-Premise and in the Cloud, Prentice Hall (April 24, 2011), ISBN-10: 0138156751, ISBN-13: 978-0138156756
  • Dirk Krafzig, Karl Banke, Dirk Slama: Enterprise SOA: Service-Oriented Architecture Best Practices, Prentice Hall (November 19, 2004), ISBN-10: 0131465759, ISBN-13: 978-0131465756
14. Required learning hours and assignment
Lecture42
Preparation for lectures
14
Preparation for in-cass tests
 
Homework24
Processing prescribed texts 
Preparation for the exam
40
Summary120
15. Syllabus prepared by Dr. Balázs Simon, senior lecturer, Department of Control Engineering and Information Technology