ppls
ppls
ppls
Set of flashcards Details
Flashcards | 58 |
---|---|
Language | Deutsch |
Category | Chemistry |
Level | Primary School |
Created / Updated | 31.03.2018 / 31.03.2018 |
Weblink |
https://card2brain.ch/box/20180331_ppls
|
Embed |
<iframe src="https://card2brain.ch/box/20180331_ppls/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
Was heißt ORM und was weißt du dazu?
Object-Relation Mapping
- Datenbank: relational, Programmierung: objektorientiert -> nicht kompatibel
- Abbildung ist eine Herausforderung
- Technologien: Hibernate, Java Persistence API (JPA)
Was weißt du über Database Access Layer?
- Persistenz Schicht, zwischen Applikation und relationaler Datenbank
- Notifizierungsmechanismus zum konsistenten Abgleich
- Anforderungen:
- CRUD Methoden
- Transaktionen (ACID)
- Lazy Loading (nur laden was benötigt wird)
- Cursor - Prinzip
Was ist die Idee von Lazy Loading?
- Lade (große) Objekte erst, wenn sie wirklich benötigt werden
- kann auch mit Virtual Proxy umgesetzt werden
Wie kann Dependency Injection umgesetzt werden?
- Umsetzung per Resource File, Java Annotations, Reflections, Methoden Signaturen
- Field Injection, Constructor Injection, Setter Injection
- Problem: Wie lang kann übergebende Referenz in Objekt bestehen? Unter welchen Bedingungen kann Referenz injiziert oder ausgetauscht werden?
Wie ist die Definition von MicroServices?
- eigene Laufzeitumgebung, unabhängig von anderen Microservices
- eigenes Domain Model
- Kommunikation mit anderen (REST, HTTP)
- flexibles Deployment (Docker)
- Nanoservice (wenige Zeilen Code)
- eigenes Datenbanksystem
Was heißt Bounded Context?
- kein universelles Datenmodell zwischen Microservices
- vertikale Aufteilung von Funktionen und Daten
Wie ist die Architektur von JEE?
- Web Browser kommuniziert mit Web Container (HTTP)
- Web Container besteht aus Servlet und Java Server Faces
- Web Containter kommuniziert mit EJB Container
- Java Application kommuniziert mit EJB Containter (RMI)
Was weißt du zu Enterprise Java Bean? Und welche Arten davon gibt es?
- serverseitiges Komponentenmodell zur Realisierung der Geschäftslogik
- realisieren
- skalierbare
- transaktionale
- sichere
- und wiederverwendbare Applikationen
- Entity (Bean) - persistentes, fachliches Object
- Session Bean
- Stateless Session Bean
- Stateful Session Bean
- Singleton Session Bean
- Message-driven Bean (asynchrone Kommunikation)
Wie ist das Packaging bei JEE?
- Enterprise Archive (ear) - enthält .war .jar .rar
- EJB-JAR (Enterprise Java Bean Archive, jar) - enthält EJBs
- Web Application Archive (war) - Web-basierten Komponenten
Erzähl was über Session Beans. Wie lauten die Annotationen?
- Session Bean implementiert Use Cases
- musste bis Version 2.x eine Reihe von Interfaces implementieren
- ab 3.0 durch POJO realisiert, Annotations werden verwendet
Entfernter Zugriff erfolgt mehr RMI (Remote Method Invocation).
Annotationen (Folie 28ff)
- @Stateless für Stateless Bean
- @Remote für das Interface welches Remote verwendet werden soll (die EJB implementiert dann das Interface)
- @Local für das Interface welches Lokal verwendet werden soll
- @EJB an eine Variable injiziert dann die lokale EJB in die Variable
Erzähle was über Stateless Session Beans.
Wie lauten die Zustände?
- beliebige Zuweisung aus Pool
- Instanzvariablen können, sollten aber besser nicht belegt werden
- Geschäftslogik sollte in einem Methodenaufruf erledigt werden
- Vorteile Pooling:
- kleine Anzahl Beans kann theoretisch größere Anzahl von Clients bedienen
- benötigen weniger Server Ressourcen
- Hohe Skalierbarkeit
- Auslastung des Application Server sinkt
Erzähle was über Singleton Seassion Bean
Sowie über die Zustände
- es existiert nur eine Session
- Einsparung von Ressourcen
- nicht thread-safe
- Methoden zur Unterbindung nicht performant
- gut für gleichzeitige Lesezugriffe mit wenigen Updates
Lösung (Folie 30)
- synchronized -> inperformant
- Alternativ `@ConcurrencyManagement?
- Vorteil: Read-Lock und Write-Lock
- Read-Lock beliebig viele, aber nicht wenn Write-Lock vorhanden
- Write-Lock nur genau einmal
Was bedeuted ACID?
- Atomicity; nicht zerlegbar; entweder ganz oder gar nicht
- Consistency; eine Transaktion hinterlässt einen konsistenten Datenbankzustand
- Isolation; nebenläufige Transaktionen beeinflussen sich nicht
- Durability; Wirkung einer erfolgreichen Transaktion bleibt dauert in der DB erhalten
Was weißt du über Transaktionen?
Nenne auch die Transaktionsattribute
- Problem: Aus einer Transaktion können weitere Methoden anderer Session Beans aufgerufen werden; Gültigkeitsbereich einer Transaktion?
- Abhängig von Transaktionsattributen
- REQUIRED (Default) - neue Transaktion in gleicher Transaktion
- REQUIRES_NEW - neue Transaktion in eigener Transaktion
- MANDATORY - neue Transaktion in eigener Transaktion; wenn keine Transaktion existiert -> FEHLER
Was versteht man unter Architekturstile und -muster
- beschreibt Dekomposition eines einzelnen Software-Sytems
- Definieren Richtlinien und Vorgaben
Was sind klassische Architekturstile?
- Layer
- Peer-To-Peer
- Pipes-And-Filter
- Shared Data
- Client-Server
Architektur Elemente
- Elemente können hierarchisch angeordnet sein
- Zugriff auf Funktionen erfolgt über Interfaces
Wie können Interaktionen stattfinden?
- lokal
- Verteilt
- durch Mittlerkomponente
Was sind Direktiven?
Sind zusätzliche Eigenschaften, Richtlinien und Einschränken welche sich nicht unmittelbar aus der Dekomposition ergeben.
Oft durch: Qualitätsanforderungen, technische Anforderungen, grundlegenden Architekturstil, organisatorische Rahmenbedingungen
Was sind technische Schulden?
- Qualitätseinbußen, (un)bewusst falsche oder suboptimale technische Entscheidungen
- Implementationsschulden (Code-Smells), Architekturschulden, Testschulden, Dokumentationsschulden
Was ist die Idee und das Ziel der Komponentenorientierung?
- Idee: Erstellung von Software durch Komposition von vorgefertigten, unabhängigen Software Komponenten
- (Zusammenbau von Systemen aus einzelnen Teilen)
- Ziel: Reduktion von Kosten und Zeit
Wie wird eine Komponente implementiert?
- wird implementiert durch ein Objekt
- kann mehrere Interfaces besitzen
- weißt Abhängigkeiten aus
Was zeichnet einen Microservice aus?
- besitzt eine Implementierung
- kann ein UI besitzen
- kann mehrere REST-Interfaces besitzen
- besitzt einen Datenhaushalt
- hat eine Laufzeitumgebung
Welche Rollen gibt es bei der Entwicklung von Komponenten?
- -Entwickler
- -Zusammensteller (zum Teil Endanwender)
- Entwickelt Applikation durch (Wieder)verwendung von Komponenten
- System-Architekt
- Setzt LFU für Komponenten auf
- Einhaltung von Qualitätsanforderungen
Welche Eigenschaften hat eine Komponente?
Deployment ist wichtigste Eigenschaft einer Komponente!
Standardisiert Müssen standardisierten Komponentenmodell entsprechen; Vorgabe von Schnittstellen, Metadaten, Dokumentation, Zusammenstellungsart, Bereitstellung
Unabhängig Sollte ohne Abhängigkeiten auskommen; falls benötigt sollte die Abhängigkeit spezifiziert sein
Einsetzbar (deployable)Kann in LZU eingesetzt werden; liegen in Binärform vor; LZU baut auf OS auf
Dokumentiert Vollständig dokumentiert, damit Benutzer entscheiden können ob Ansprüche erfüllt sind; Beschreibung Syntax und Semantik
Zusammenstellbar Kann mit (mehreren) anderen zu höherwertigen Komposition zusammengestellt werden; Interaktion über öffentliche Schnittstellen
Was sind die Grundparadigmen der Objektorientierung?
- Kapselung des Zustands
- Abstraktion
- Generalisierung und Spezialisierung
- Polymorphie
Unterscheide Klasse und Komponente
- Komponenten legen keine Datentypen fest
- Implementierung von Komponenten sind verschlossen
- Komponenten sind sprachunabhängig
- Komponenten sind standardisiert
Komponente:
- Binärform
- Wird in LZU deployed
- kann aus LZU entfernt werden
- Deployment während der Laufzeit
Objekt:
- Source Code
- Java: nur Kompolierung der Klasse, dann flexibles Einsetzen in Classpath möglich, keine Verlinkung
Wofür stehts COTS und was zeichnet es aus?
Commerciall Off-the-Shelf
- seriengefertigte Komponenten, gleichartig aufgebaut
- geringe bis gar keine Konfiguration
- vollständige Software-Lösung
Was zeichnet ein Framework aus?
- Rahmenwerk
- Definiert Software-Architektur
- Enthält Klassen, Bibliotheken und LZU
- nicht unmittelbar ausführbar, hohe Anpassung notwendig
-
- 1 / 58
-