Almost every software development project requires communication with other IT systems. A wide range of remoting technologies are available, each with different advantages and disadvantages. The training course will explain the different working methods of the technologies, as well as demonstrate brief examples highlighting the specific characteristics.
You will get to know the most important interface technologies as well as your preferred usage scenarios. Several case studies will demonstrate what is important when choosing the right technology and how this choice affects versioning, usage scenarios, scalability, development effort and other risks.
-
Duration
1 day -
Goal
- In this seminar, you will learn the basic functions of various interface technologies within a very short time and will be able to distinguish them from each other.
- Using examples and case studies, you will gain practical knowledge to find a suitable solution for your project.
-
Target group
As a project manager, developer or architect, you would like to find out about different ways of exchanging data via networks. You have not yet gained any more in-depth experience with the various technologies and would like to gain an overview in order to be able to use different interface technologies for your projects.
-
Contents
Remote Communication – The Basics
- Remote communication via Stub and Skeleton
- Pitfalls in serializing data structures
- Approaches for versioning interfaces
- Finding a service provider using a directory service
- The early days of remote communication: Corba and RMI
Interface Definition using Description Languages
- Code first vs. Contract first
- Generation of language-specific client/server abstractions
- Transactional vs. non-transactional interfaces
- XML as data format
- The days of SOA architectures: SOAP web services and WSDL
Resource-based HTTP Interfaces
- Bandwidth-optimized data transfer with JSON as data format
- Better scalability due to being stateless
- Using REST interfaces with JavaScript clients
- Guidelines for REST interfaces
- Standardizing REST with OData
Service- and Message-based Communication
- Advantages and disadvantages of asynchronous communication
- Streaming vs. Request response
- Binary formats for data transmission using Protobuf as an example
- The modern variant of REST and SOAP: gRPC
Asynchronous Service-to-Service Communication
- Strict consistency vs. Eventual consistency
- Message idempotence
- Asynchronous yet transactional with Java Message Service (JMS)
- Language-independent with Advanced Message Queuing Protocol (AMQP)
- From the MessageQueue to the database: Apache Kafka
Asynchronous Messaging Around IoT Systems
- Quality of Service Level (QoS)
- Topics vs. Queues
- Message Queuing Telemetry Transport (MQTT)
GraphQL as API Definition
- Selectively choosing data to reduce network traffic
- GraphQL Scheme Definition Language (SDL)
- Examples of GraphQL queries
Decision Criteria and Case Studies
- Decision matrix for choosing technology
- Case study 1: Online shop
- Case study 2: IoT sensor
- Case study 3: Car configuration website with complex backend
- Case study 4: Financial transaction API
- Case study 5: Social media application
-
Requirements
Basic Java knowledge is helpful, but not a requirement
Contact to our service center
+49 (0) 711 90363245
+41 (0) 584 595795
+43 (01) 33 2353160
+41 (0) 584 595454
Early booking pays off
Book your training at least 3 or 6 months before the start of the course and take advantage of the flexible pricing.
> 6 months
€ 670,00
> 3 months
€ 750,00
0-3 months
€ 830,00
Place | Date | Language | Price | |
---|---|---|---|---|
Virtual Classroom | 02.03.2023 | de | € 830,00 | |
Virtual Classroom | 26.10.2023 | de | € 670,00 | |
In-house training courses on request | Inquiry |
- Guaranteed to take place
- The course will definitely take place if you make a booking
- There are no free places left on this course. If you still book it, we will place you on the waiting list.
- The course price is shown in the currency EUR. For orders from Switzerland, we convert the price into CHF and take into account the appropriate VAT rate. We are also happy to assist you with your order by telephone: CH +41 58 459 57 95 or DE +49 711 903 632 45.