Modern Service Oriented Architecture


Vad betyder egentligen Service-Orienterad Arkitektur? När är det relevant? Varför kan det vara intressant? Vad är riskerna? Hur relaterar det till teknologier som web services, meddelandeköer och servicebussar? Hur passar det in med verksamhetsprocesser, modellering och agilitet? Och - viktigast av allt - hur kan det sättas i arbete för att bygga lösningar som levererar värde, låter verksamheten evolvera, och är hållbara, skalbara och säkra?

Den här kursen tar sig an alla dessa frågor. Med ett genomgående verksamhetsexempel undersöker vi frågor om design, modellering, publicering och pågående förvaltning av services. Kursen går igenom ett flertal exempelimplementationer av systemet och utforskar effekten av diverse design- och teknologival.

Utifrån relevant teori såväl som tillämpbara praktiska metoder, undersöker den här kursen vilka val och utmaningar som möter dem som närmar sig SOA idag.

Dag 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
  • Service 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

Dag 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

Kurskod: T200
Kurslängd: 2 dagar
Pris: 19 500 SEK

Dela



BOKA NU

Kursschema

Kontakta oss för schema

Målgrupp

Utvecklare och arkitekter som vill lära sig mer om service-orienterad arkitektur.

Förkunskaper

Inga.

Liknande kurser

Lärare

Carl Mäsak Agilt, scripting, web, Perl, TDD. Konsult och utbildare Jonathan Worthington Tacklar komplexa problem, levererar lösningar. Konsult, utbildare, talare

Kontakta oss

Kontakta oss gärna för mer information:
Tel: 040-61 70 720
info@edument.se
Alla priser ex moms