Kurs: Modern Service Oriented Architecture

Klasserom2 dagerHeltidKursNorsk
Start Sted Språk
20.03.17 Glasspaper AS, Sandbrogaten 5, 5003 Bergen, Bergen Norsk
22.03.17 Glasspaper AS, Strandveien 43, 7042 Trondheim, Trondheim Norsk
20.04.17 Glasspaper AS, Brynsveien 12, 0667 Oslo, Oslo Norsk
29.06.17 Glasspaper AS, Brynsveien 12, 0667 Oslo, Oslo Norsk

What does Service Oriented Architecture really mean? When is it relevant? Why might it be interesting? What are the risks? How does it relate to technologies such as web services, message queues and service busses? How does it fit in with business processes, modeling and agility? And - most critically - how can it be put to use in order to build solutions that deliver value, enable the business to evolve, and are reliable, scalable and secure?

This course tackles all of these questions head on. Using an example business throughout the course, issues relating to the design, modeling, publication and ongoing governance of services are examined. And - while this is not a course requiring programming knowledge from attendees - multiple sample implementations of the system will be used to illustrate and explore the impact of various design and technology choices.

Drawing on pertinent underlying theory, while remaining relentlessly practical, this course examines the choices and challenges facing those who approach SOA today.


Day 1
Key Architectural Principles

  • What is an architecture, anyway?
  • Business Processes
  • Domain Models and Bounded Contexts
  • The need for agility and deferred decision making
  • Service Level Agreement

Key Technological Principles

  • Distributed systems: a short history
  • Consequences of distribution
  • Synchronous vs. asynchornous
  • Cohesion, coupling and autonomy
  • Endpoints

Key Information Principles

  • The Information Silo problem
  • Information ownership and authority
  • The command/event distinction
  • Transactions
  • The CAP theorem and eventual consistency

Approaches to SOA

  • The operational approach
  • The messaging approach
  • The RESTful approach
  • Introduction to the sample business used in the course

Designing Services around Operations

  • Modeling processes into services
  • ervice classification
  • Designing contracts

Operational Implementation: Web Services

  • No, Web Services != SOA
  • Why deliver services over the web?
  • XML
  • SOAP
  • WSDL
  • Exploring a sample implementation
  • Considering asynchrony and polling

Evaluation of the Operational Approach

  • Consequences for modeling
  • Latency
  • Reliability
  • When things get loopy

Messaging Preliminaries

  • Commands and events revisited
  • Publish subscribe
  • Message queues, store and forward
  • Messages busses
  • Brokers vs. busses

Designing with Commands and Events

  • Identifying commands and events from the process
  • Workflows and sagas
  • What is the contract here? What is the service here?

Messaging Implementation Example

  • Exploring the implementation
  • Examining the event flows
  • How reliability is improved
  • Sagas

Evaluation of the messaging approach

  • Consequences for modeling
  • Latency and consistency
  • Reliability

Day 2
Introduction to REST

  • HTTP revisited
  • Resources
  • How resources relate to the domain
  • Hypermedia As The Engine Of Application State

Designing RESTfully

  • Processes, behaviors and hypermedia
  • Resources
  • What is the contract with a RESTful system?

RESTful Implementation

  • Exploring the sample implementation
  • Correct usage of HTTP status codes
  • Approaches to hypermedia
  • Media types and content negotiation

REST meets Messaging

  • Events and feeds
  • Atom, or something else?
  • Polling: not so stupid after all
  • To bus or not to bus?

Evaluating the RESTful approach

  • Consequences for modeling
  • Latency and consistency
  • Reliability

Governance and agility

  • What is governance?
  • The service portfolio
  • Publishing services and contracts
  • Evolving services and contracts
  • Contract versioning considerations
  • Monitoring and quality of service

SOA and Testing

  • Why test?
  • Testing at the service level
  • Testing service integration
  • Chaos monkey

SOA and Security

  • Cofidentiality and encryption
  • Integrity and digital signatures
  • Authentication and authorization

Summing Up SOA

  • Contrasting approaches with regard to modeling
  • Contrasting approaches with regard to coupling and autonomy
  • Contrasting approaches with regard to reliability
  • SOA opportunities
  • SOA risks
  • Key things to remember


Modern Service Oriented Architecture

Glasspaper as sine hjemmesider


The course assumes a general awareness of software development, but does not require recent programming experience nor experience as an architect. However, having played either of these roles will help you to get more out of the course. Taking our Software Architecture course first is not required, but will leave you better prepared for this one.




Project leaders, architects and system developers who want to gain an understanding - or improve their basic understanding - of SOA.


Modern Service Oriented Architecture hos Glasspaper
Start her
100% sikkert skjema
Tar ett minutt å fullføre
Hurtig respons

Felt som er merket med * må fylles ut
Ønsket valuta *
Dato og sted *
Hvor mange? (Gavekort)
Kampanjekoden er korrekt og rabatt er lagt til.
Fant ingen kampanje. Skrev du kampanjekoden riktig?
Kampanjekode er korrekt, men kampanjen gir ikke bedre pris enn nåværende kampanje.
Deltaker {{$index+1}}
Filen ble lastet opp
Filen ble fjernet
Laster opp... {{item.upload_progress}}%
{{ file.file.name }} Fjern
{{total_price | fprice}} kr {{currency}}
{{total_price-total_with_discount | fprice}} kr {{currency}}
{{total_with_discount | fprice}} kr {{currency}}
{{total_vat | fprice}} kr {{currency}}

MVA per produkt:

Betalingsmåte *
Number: 1+2 *
Vennligst rett opp følgende og forsøk igjen
Vent til opplasting av fil er ferdig

Dette skjemaet er 100% sikkert.
Glasspaper vil snart kontakte deg og bekrefte!


Åpen deltakerdiskusjon om kurset eller emnet

Del gjerne din erfaring eller tanker om dette kurset eller temaet med andre!

Anbefalinger fra andre brukere