Reactive Messaging Patterns with the Actor Model

Applications and Integration in Scala and Akka

Author: Vaughn Vernon

Publisher: Addison-Wesley Professional

ISBN: 0133846873

Category: Computers

Page: 496

View: 9720

DOWNLOAD NOW »
USE THE ACTOR MODEL TO BUILD SIMPLER SYSTEMS WITH BETTER PERFORMANCE AND SCALABILITY Enterprise software development has been much more difficult and failure-prone than it needs to be. Now, veteran software engineer and author Vaughn Vernon offers an easier and more rewarding method to succeeding with Actor model. Reactive Messaging Patterns with the Actor Model shows how the reactive enterprise approach, Actor model, Scala, and Akka can help you overcome previous limits of performance and scalability, and skillfully address even the most challenging non-functional requirements. Reflecting his own cutting-edge work, Vernon shows architects and developers how to translate the longtime promises of Actor model into practical reality. First, he introduces the tenets of reactive software, and shows how the message-driven Actor model addresses all of them–making it possible to build systems that are more responsive, resilient, and elastic. Next, he presents a practical Scala bootstrap tutorial, a thorough introduction to Akka and Akka Cluster, and a full chapter on maximizing performance and scalability with Scala and Akka. Building on this foundation, you’ll learn to apply enterprise application and integration patterns to establish message channels and endpoints; efficiently construct, route, and transform messages; and build robust systems that are simpler and far more successful. Coverage Includes How reactive architecture replaces complexity with simplicity throughout the core, middle, and edges The characteristics of actors and actor systems, and how Akka makes them more powerful Building systems that perform at scale on one or many computing nodes Establishing channel mechanisms, and choosing appropriate channels for each application and integration challenge Constructing messages to clearly convey a sender’s intent in communicating with a receiver Implementing a Process Manager for your Domain-Driven Designs Decoupling a message’s source and destination, and integrating appropriate business logic into its router Understanding the transformations a message may experience in applications and integrations Implementing persistent actors using Event Sourcing and reactive views using CQRS Find unique online training on Domain-Driven Design, Scala, Akka, and other software craftsmanship topics using the for{comprehension} website at forcomprehension.com.

Microservices

Konzeption und Design

Author: Sam Newman

Publisher: MITP-Verlags GmbH & Co. KG

ISBN: 3958450830

Category: Computers

Page: 312

View: 1135

DOWNLOAD NOW »
Feingranulare Systeme mit Microservices aufbauen Design, Entwicklung, Deployment, Testen und Monitoring Sicherheitsaspekte, Authentifizierung und Autorisierung Verteilte Systeme haben sich in den letzten Jahren stark verändert: Große monolithische Architekturen werden zunehmend in viele kleine, eigenständige Microservices aufgespalten. Aber die Entwicklung solcher Systeme bringt Herausforderungen ganz eigener Art mit sich. Dieses Buch richtet sich an Softwareentwickler, die sich über die zielführenden Aspekte von Microservice-Systemen wie Design, Entwicklung, Testen, Deployment und Monitoring informieren möchten. Sam Newman veranschaulicht und konkretisiert seine ganzheitliche Betrachtung der grundlegenden Konzepte von Microservice-Architekturen anhand zahlreicher praktischer Beispiele und Ratschläge. Er geht auf die Themen ein, mit denen sich Systemarchitekten und Administratoren bei der Einrichtung, Verwaltung und Entwicklung dieser Architekturen in jedem Fall auseinandersetzen müssen. Aus dem Inhalt: Vorteile von Microservices Gestaltung von Services Ausrichtung der Systemarchitektur an der Organisationsstruktur Möglichkeiten zur Integration von Services Schrittweise Aufspaltung einer monolithischen Codebasis Deployment einzelner Microservices mittels Continuous Integration Testen und Monitoring verteilter Systeme Sicherheitsaspekte Authentifizierung und Autorisierung zwischen Benutzer und Service bzw. zwischen Services untereinander Skalierung von Microservice-Architekturen »Microservice-Architekturen besitzen viele interessante Eigenschaften, allerdings sind bei der Umstellung so einige Fallstricke zu beachten. Dieses Buch wird Ihnen helfen herauszufinden, ob Microservices für Ihre Zwecke geeignet sind und zeigt Ihnen, wie Sie die Fallstricke umgehen können.« Martin Fowler, Chief Scientist, ThoughtWorks

Clean Architecture

Das Praxishandbuch für gutes Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturen

Author: Robert C. Martin

Publisher: MITP-Verlags GmbH & Co. KG

ISBN: 3958457266

Category: Computers

Page: 370

View: 8277

DOWNLOAD NOW »

Programmieren mit Scala

Author: Dean Wampler,Alex Payne

Publisher: O'Reilly Germany

ISBN: 3897216485

Category: Computers

Page: 480

View: 1245

DOWNLOAD NOW »
Sie ist elegant, schlank, modern und flexibel: Die Rede ist von Scala, der neuen Programmiersprache für die Java Virtual Machine (JVM). Sie vereint die Vorzüge funktionaler und objektorientierter Programmierung, ist typsicherer als Java, lässt sich nahtlos in die Java-Welt integrieren – und eine in Scala entwickelte Anwendung benötigt oft nur einen Bruchteil der Codezeilen ihres Java-Pendants. Kein Wunder, dass immer mehr Firmen, deren große, geschäftskritische Anwendungen auf Java basieren, auf Scala umsteigen, um ihre Produktivität und die Skalierbarkeit ihrer Software zu erhöhen. Das wollen Sie auch? Dann lassen Sie sich von den Scala-Profis Dean Wampler und Alex Payne zeigen, wie es geht. Ihre Werkzeugkiste: Schon bevor Sie loslegen, sind Sie weiter, als Sie denken: Sie können Ihre Java-Programme weiter verwenden, Java-Bibliotheken nutzen, Java von Scala aus aufrufen und Scala von Java aus. Auch Ihre bevorzugten Entwicklungswerkzeuge wie NetBeans, IntelliJ IDEA oder Eclipse stehen Ihnen weiter zur Verfügung, dazu Kommandozeilen-Tools, Plugins für Editoren, Werkzeuge von Drittanbietern – und natürlich Ihre Programmiererfahrung. In Programmieren mit Scala erfahren Sie, wie Sie sich all das zunutze machen. Das Hybridmodell: Die Paradigmen "funktional" und "objektorientiert" sind keine Gegensätze, sondern ergänzen sich unter dem Scala-Dach zu einem sehr produktiven Ganzen. Nutzen Sie die Vorteile funktionaler Programmierung, wann immer sich das anbietet – und seien Sie so frei, auf die guten alten Seiteneffekte zu bauen, wenn Sie das für nötig halten. Futter für die Profis: Skalierbare Nebenläufigkeit mit Aktoren, Aufzucht und Pflege von XML mit Scala, Domainspezifische Sprachen, Tipps zum richtigen Anwendungsdesign – das sind nur ein paar der fortgeschrittenen Themen, in die Sie mit den beiden Autoren eintauchen. Danach sind Sie auch Profi im Programmieren mit Scala.

Nebenläufige Programmierung mit Java

Konzepte und Programmiermodelle für Multicore-Systeme

Author: Jörg Hettel,Manh Tien Tran

Publisher: dpunkt.verlag

ISBN: 3960880138

Category: Computers

Page: 378

View: 8832

DOWNLOAD NOW »
Damit die Performance-Möglichkeiten moderner Multicore-Rechner effizient genutzt werden, muss die Software dafür entsprechend entworfen und entwickelt werden. Für diese Aufgabe bietet insbesondere Java vielfältige Konzepte an. Das Buch bietet eine fundierte Einführung in die nebenläufige Programmierung mit Java. Der Inhalt gliedert sich dabei in fünf Teile: Im ersten Teil wird das grundlegende Thread-Konzept besprochen und die Koordinierung nebenläufiger Programmflüsse durch rudimentäre Synchronisationsmechanismen erläutert. Im zweiten Teil werden weiterführende Konzepte wie Threadpools, Futures, Atomic-Variablen und Locks vorgestellt. Ergänzende Synchronisationsmechanismen zur Koordinierung mehrerer Threads werden im dritten Teil eingeführt. Teil vier bespricht das ForkJoin-Framework, die Parallel Streams und die Klasse CompletableFuture, mit denen auf einfache Art und Weise nebenläufige Programme erstellt werden können. Im fünften Teil findet der Leser Beispiele für die Anwendung der vorgestellten Konzepte und Klassen. Dabei werden auch das Thread-Konzept von JavaFX und Android sowie das Programmiermodell mit Aktoren vorgestellt. Der Anhang enthält einen Ausblick auf Java 9, das bezüglich des Concurrency-API kleine Neuerungen bringt. Alle Codebeispiele stehen auf der Webseite zum Buch zum Download bereit.

Domain-Driven Design kompakt

Aus dem Englischen übersetzt von Carola Lilienthal und Henning Schwentner

Author: Vaughn Vernon

Publisher: dpunkt.verlag

ISBN: 3960881797

Category: Computers

Page: 158

View: 9876

DOWNLOAD NOW »
Domain-Driven Design (DDD) richtet den Fokus in der Softwareentwicklung auf das Wesentliche: die Domäne. Die Domäne wird als Modell in die Software übertragen. Damit entwickeln Sie Software in hoher Qualität, die lange hält, den Anwender zufriedenstellt und die Basis für Microservices bildet. Dieses Buch bietet einen kompakten Einstieg in DDD. Die wesentlichen Konzepte, wie die Entwicklung einer Ubiquitous Language, das Aufteilen der Domäne in Bounded Contexts und die Konstruktion innerhalb von Bounded Contexts, werden vermittelt. Außerdem wird die Anbindung von Legacy-Systemen behandelt. Die Themen im Einzelnen: - Strategisches Design mit Bounded Contexts und der Ubiquitous Language - Strategisches Design mit Subdomains - Strategisches Design mit Context Mapping - Taktisches Design mit Aggregates - Taktisches Design mit Domain Events Auch auf Techniken zur Beschleunigung von Design und das Management von Projekten wird eingegangen. Insbesondere wird erläutert, wie Event Storming, DDD in einem agilen Projekt und die Modellierung mit Timebox funktionieren. Der Leser findet in diesem Buch viele konkrete Handlungsvorschläge für die Praxis und wird so befähigt, die Zusammenarbeit von Entwicklern und Domain Experts sowie zwischen Teams zu fördern. Als Extra befindet sich ein Glossar mit den wichtigsten DDD-Begriffen auf den Umschlaginnenseiten.

Programming with Actors

State-of-the-Art and Research Perspectives

Author: Alessandro Ricci,Philipp Haller

Publisher: Springer

ISBN: 3030003027

Category: Computers

Page: 245

View: 664

DOWNLOAD NOW »
The set of papers collected in this issue originated from the AGERE! Workshop series - the last edition was held in 2017 - and concern the application of actor-based approaches to mainstream application domains and the discussion of related issues. The issue is divided into two parts. The first part concerns Web Programming; Data-Intensive Parallel Programming; Mobile Computing; Self-Organizing Systems and the second part concerns Scheduling; Debugging; Communication and Coordination; Monitoring.

Information Systems Architecture and Technology: Proceedings of 37th International Conference on Information Systems Architecture and Technology – ISAT 2016 –

Author: Jerzy Świątek,Zofia Wilimowska,Leszek Borzemski,Adam Grzech

Publisher: Springer

ISBN: 3319465899

Category: Computers

Page: 249

View: 2331

DOWNLOAD NOW »
This four volume set of books constitutes the proceedings of the 2016 37th International Conference Information Systems Architecture and Technology (ISAT), or ISAT 2016 for short, held on September 18–20, 2016 in Karpacz, Poland. The conference was organized by the Department of Management Systems and the Department of Computer Science, Wrocław University of Science and Technology, Poland. The papers included in the proceedings have been subject to a thorough review process by highly qualified peer reviewers. The accepted papers have been grouped into four parts: Part I—addressing topics including, but not limited to, systems analysis and modeling, methods for managing complex planning environment and insights from Big Data research projects. Part II—discoursing about topics including, but not limited to, Web systems, computer networks, distributed computing, and mulit-agent systems and Internet of Things. Part III—discussing topics including, but not limited to, mobile and Service Oriented Architecture systems, high performance computing, cloud computing, knowledge discovery, data mining and knowledge based management. Part IV—dealing with topics including, but not limited to, finance, logistics and market problems, and artificial intelligence methods.

Entwurfsmuster verstehen

eine neue Perspektive auf objektorientierte Software-Entwicklung ; [eine neue Perspektive für das objektorientierte Design ; robuste und zuverlässige Softwarwe mithilfe von Entwurfsmustern entwickeln ; Design patterns sinnvoll kombinieren]

Author: Alan Shalloway,James Trott

Publisher: N.A

ISBN: 9783826613456

Category:

Page: 319

View: 4271

DOWNLOAD NOW »

Entwurfsmuster

Elemente wiederverwendbarer objektorientierter Software

Author: Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides

Publisher: Pearson Deutschland GmbH

ISBN: 9783827330437

Category: Agile software development

Page: 479

View: 1718

DOWNLOAD NOW »

Java in a nutshell

deutsche Ausgabe für Java 1.4

Author: David Flanagan

Publisher: O'Reilly Germany

ISBN: 9783897213326

Category: Java (Computer program language)

Page: 1084

View: 1287

DOWNLOAD NOW »

Sieben Wochen, sieben Sprachen (Prags)

Author: Bruce A. Tate

Publisher: O'Reilly Germany

ISBN: 3897213230

Category: Computers

Page: 360

View: 4103

DOWNLOAD NOW »
Mit diesen sieben Sprachen erkunden Sie die wichtigsten Programmiermodelle unserer Zeit. Lernen Sie die dynamische Typisierung kennen, die Ruby, Python und Perl so flexibel und verlockend macht. Lernen Sie das Prototyp-System verstehen, das das Herzstück von JavaScript bildet. Erfahren Sie, wie das Pattern Matching in Prolog die Entwicklung von Scala und Erlang beeinflusst hat. Entdecken Sie, wie sich die rein funktionale Programmierung in Haskell von der Lisp-Sprachfamilie, inklusive Clojure, unterscheidet. Erkunden Sie die parallelen Techniken, die das Rückgrat der nächsten Generation von Internet-Anwendungen bilden werden. Finden Sie heraus, wie man Erlangs "Lass es abstürzen"-Philosophie zum Aufbau fehlertoleranter Systeme nutzt. Lernen Sie das Aktor-Modell kennen, das das parallele Design bei Io und Scala bestimmt. Entdecken Sie, wie Clojure die Versionierung nutzt, um einige der schwierigsten Probleme der Nebenläufigkeit zu lösen. Hier finden Sie alles in einem Buch. Nutzen Sie die Konzepte einer Sprache, um kreative Lösungen in einer anderen Programmiersprache zu finden – oder entdecken Sie einfach eine Sprache, die Sie bisher nicht kannten. Man kann nie wissen – vielleicht wird sie sogar eines ihrer neuen Lieblingswerkzeuge.

Big Data, Fast Data

Author: Michael Lex,Dr. Daniel Pape,Jochen Mader,Matthias Niehoff

Publisher: N.A

ISBN: 3868027394

Category: Computers

Page: 48

View: 7259

DOWNLOAD NOW »
Die Big-Data-Welt verändert sich. Mit diesem shortcut erfahren Sie, was hinter den Begriffen Fast Data und SMACK steckt, wie Daten mittels Kafka und Akka ins System kommen und auf welche Art und Weise eine Datenanalyse mit Spark und Apache Zeppelin funktioniert. Im abschließenden Kapitel erläutern die Autoren, wie Daten unter Verwendung von Spark und Cassandra gespeichert, verarbeitet, aktualisiert und mit weiteren Informationen zusammengebracht werden können.

Akka Cookbook

Author: Hector Veiga Ortiz,Piyush Mishra

Publisher: Packt Publishing Ltd

ISBN: 1785288369

Category: Computers

Page: 414

View: 431

DOWNLOAD NOW »
Learn how to use the Akka framework to build effective applications in Scala About This Book Covers a discussion on Lagom—the newest launched Akka framework that is built to create complex microservices easily The recipe approach of the book allows the reader to know important and independent concepts of Scala and Akka in a seamless manner Provides a comprehensive understanding of the Akka actor model and implementing it to create reactive web applications Who This Book Is For If you are a Scala developer who wants to build scalable and concurrent applications, then this book is for you. Basic knowledge of Akka will help you take advantage of this book. What You Will Learn Control an actor using the ContolAware mailbox Test a fault-tolerant application using the Akka test kit Create a parallel application using futures and agents Package and deploy Akka application inside Docker Deploy remote actors programmatically on different nodes Integrate Streams with Akka actors Install Lagom and create a Lagom project In Detail Akka is an open source toolkit that simplifies the construction of distributed and concurrent applications on the JVM. This book will teach you how to develop reactive applications in Scala using the Akka framework. This book will show you how to build concurrent, scalable, and reactive applications in Akka. You will see how to create high performance applications, extend applications, build microservices with Lagom, and more. We will explore Akka's actor model and show you how to incorporate concurrency into your applications. The book puts a special emphasis on performance improvement and how to make an application available for users. We also make a special mention of message routing and construction. By the end of this book, you will be able to create a high-performing Scala application using the Akka framework. Style and approach This highly practical recipe-based approach will allow you to build scalable, robust, and reactive applications using the Akka framework.