API Design for Architects
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.
- 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.
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.
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
- 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
Basic Java knowledge is helpful, but not a requirement
Our Quality Promise
Contact to our service center
+49 (0) 711 90363245
+41 (0) 584 595795
+43 (01) 33 2353160
+41 (0) 584 595454
+49 (0) 711 90363245
+49 (0) 711 90363245
|Mannheim / DE||27.09.2019||DE||825,00 €|
|Mannheim / DE||15.11.2019||DE||825,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.
This course is held in another country. Due to the different tax conditions, you will have to book it in a separate booking process. We apologize for any inconvenience.
Request an inhouse training
Guarantee of quality
Following completion by the participants, every single training course is assessed at the levels
- suitability of the training room,
- suitability of the workplace,
- functionality of the technical equipment, and
- satisfaction throughout the entire course / seminar,
and recorded in our "TRIVALUATION" feedback system for quality assurance purposes. This enables us to consistently ensure the high quality and satisfaction of our valued customers. We really appreciate the overall rating of 9.3 from 10 points awarded by our many enthusiastic customers.
Trivadis guarantees the success of your training. Having completed the course / seminar, do you have any questions about the practical aspects? Would you like to repeat any of the exercises in the lab environment?
Our success guarantee allows you to repeat individual days, or even the entire training course, free of charge for up to 6 months after attending a training course. You bring with you the course materials from the previous training course.