Software Architektur II

Slides:



Advertisements
Ähnliche Präsentationen
Objektrelationales Mapping mit JPA
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
C ommon O bject R equest B roker A rchitecture
DI Christian Donner cd (at) donners.com
Basis-Architekturen für Web-Anwendungen
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Enterprise Java Beans (EJB) VL Anwendungssysteme Freitag, Gerald Weber.
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Datenbankzugriff im WWW (Kommerzielle Systeme)
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Stephan Bury  Pascal Busch  Bita Gerami
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
AP 04/03 Komponentenprogrammierung und Middleware Vorlesung + Projekt 4 SWS mit Praktikum (6 benotete Leistungspunkte) –Studentische Vorträge in der 2-ten.
MD 4/02 Hello World from CORBA ein erster Überblick.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Objektorientierte Programmierung JDK-Klassenbibliothek
Business Logik als EJB-Applikation Gruppe pea19 Raed IssaChristian KubanekHonoré Tiako.
Java2 Enterprise Edition René Noack Mai 2003
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Mono und andere freie.NET Implementierungen. Implementierungen Microsoft.NET Framework Win32, Win64? Microsoft.NET Compact Framework WinCE (Mobile, Phone)
Remote Methode Invocation (RMI)
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
Rechnernetze und verteilte Systeme (BSRvS II)
Björn Schmidt, Hoang Truong Nguyen
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Herzlich Willkommen… welcome… soyez la bienvenue….
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Software Architektur I
Software Architektur IV
OOD – Object Oriented Design II
Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering OOD – Object Oriented Design III GUI-Design.
OOD – Object Oriented Design I
Webservice Grundlagen
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Kap. 4 Der Corba-Standard zur verteilten Objektverwaltung
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Beschreiben Sie eine Web Interaktion mittels Java Applets.
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
Web-Design: Architektur
Datenanbindung in Webapplikationen
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Einführung in Web Services Web Services in der Praxis
Projekt Pokémon (CSL) Evaluation Technologien / Entwicklungsumgebungen Schlusspräsentation, Philip Iezzi, BDLI 2.
ATLAS2000 Modellintegration in digitalen Atlanten Konzepte und Lösungsvorschläge am Beispiel ATLAS2000.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
prof. dr. dieter steinmann fachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Standardisierung.
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
© abaXX Java als Plattform für die Abbildung von B2B Geschäftsprozessen Di 7 :
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
Verteilte Anwendungen: J2EE
 Präsentation transkript:

Software Architektur II Verteilte Anwendungsarchitekturen: Java EE .NET CORBA

Lernziele Sie können ... den Java Community Process erläutern die 3 Java Plattformen benennen die Architektur von Java Enterprise darlegen die wichtigsten Elemente der .NET-Architektur benennen die Grundzüge der CORBA-Architektur erläutern

JCP – Java Community Process Community zur Weiterentwicklung der Java Technology Specifications Unter der Führung von Sun Microsystems www.jcp.org Prozess zur Standardisierung:

Plattformunabhängigkeit Java Platform Einheitliche Programmiersprache: Java Plattformunabhängigkeit 3 unterschiedliche Ebenen: Java Platform, Standard Edition (früher J2SE) Basisklassen für das Java Runtime auf einem Knoten Java Platform, Enterprise Edition (früher J2EE) Architektur für verteilte Anwendungen: 1999: J2EE 1.2/EJB 1.1 2001: J2EE 1.3/EJB 2.0 2003: J2EE 1.4/EJB 2.1 2006: Java EE 5 Java Platform, Micro Edition (früher J2ME) für mobile Geräte (PDA, Handy) Quelle der nachfolgenden Illustrationen: http://java.sun.com

Java EE: Layer-Architektur I

Java EE: Layer-Architektur II

Java EE: Container-Architektur Rich Client Thin Client Web Server Application Server JSP – Java Server Pages EJB – Enterprise Java Bean

Java EE: Web-Tier 2 Arten von Web-Applikationen: Presentation-Oriented  Client mit Browser Service-Oriented  Programm als Client (Consumer) eines Web-Services

Java EE: Business Tier Komponentenmodell auf dem Anwendungsserver Arten von Komponenten (EJB – Enterprise Java Beans): Session Beans (synchrone Aufrufe) Stateless (Zustandslos) Stateful (Zustandsbezogen, behalten Attributswerte) Message Driven Beans (asynchrone Aufrufe) Entity Beans (Persistenz-Repräsentant)

Java EE: Session Beans I Standardmethoden: setSessionContext() – Metainformationen ejbCreate() - Konstruktor ejbRemove() - Destruktor ejbActivate() / ejbPassivate() Lifecycle von Sessions Beans:

Java EE: Message Driven Beans Empfänger von asynchronen Nachrichten Implementierung der JMS (Java Message Services) Standardmethoden: ejbCreate()/ejbRemove() setMessageDrivenContext() onMessage() Teil der MessageListener-Schnittstelle, Nachrichten werden dieser Methode zur weiteren Verarbeitung übergeben Lifecycle einer Message Driven Bean:

Java EE: Persistenz Persistenz – Abspeichern von langlebigen Instanzen in ein DBMS Der Dienst wird durch den Entity-Manager angeboten javax.persistence.EntityManager Java EE bietet ein Handling von Relationalen Datenbankdaten in Java-Objekten an: Java Persistenz API Query Language Object/Relational Mapping – Metadaten Persistenz-Konzepte: CMP – Container-Managed Persistence BMP – Bean-Managed Persistence

Java EE: Entity Beans Repräsentanten von Entitäten in Datenbanken Standardmethoden einer CMP Entity Bean: Select-Methoden setEntityContext() ejbCreate() / ejbRemove() ejbPostCreate() ejbLoad() / ejbStore() wird nur von BMP Entity Beans verwendet Lifecycle einer Entity Bean:

Java EE: Transaktionen I Container-Managed Transaction (CMT) Anhand des Transaktionsattributes wird das Transaktionsmanagement automatisch vorgenommen:

Java EE: Transaktionen II Bean-Managed Transactions (BMT) Die Transaktion wird individuell programmiert Datenbanktransaktionen: JDBC-Transcactions Bean-Transaktionen: JTA (Java Transaction API) Beispielcode:

Java EE: Security Im neuen Standard wird diesem Aspekt grosse Bedeutung zugeordnet. 2 Ebenen von Sicherheitsvorkehrungen: Container: Declarative Security Component: Programmatic Security Zielsetzungen der Massnahmen: Authentifizierung (Authentication) Autorisierung (Authorization, Access Control) Datenintegrität (Data Integrity) Vertraulichkeit (Confidentiality, Privacy) Nicht Abstreitbarkeit einer Handlung (Non-Repudiation) Verfügbarkeit (QoS, Quality of Service, Availability) Nachvollziehbarkeit (Auditing)

Java EE: Blueprints Vorgaben in Form von Muster (Pattern) Bewährte Konzepte werden verfügbar / nutzbar Musterarchitekturen (Java EE Blueprint Design Guidelines) Für Client-Tier Für Web-Tier Für EJB-Tier Für Integration-Tier Transaktionsverwaltung Internationalisierung http://java.sun.com/blueprints/enterprise/index.html

Java EE: Web-Service Unterstützung der Normen: UDDI (Directory) WSDL (Beschreibung) SOAP (Kommunikation)

Java ME: Mobile Service Architecture

Java Certification Program

Weiterführende Tutorials http://java.sun.com/javaee/learning/

.NET-Architektur Clients IIS (Internet Information Server, Web-Server) Workstations Notebooks Handhelds Handy Web Services IIS (Internet Information Server, Web-Server) MTS (Microsoft Transaction Server) .NET Framework COM Component Object Model Web Services ASP ADO.NET ... .NET Enterprise Server BizTalk Server SQL-Server Exchange Server

.NET versus Java EE

OMG – Object Management Group Standardisierungsgremium Hunderte von Unternehmungen stehen dahinter Folgende wichtige Standards werden von OMG gepflegt: OMA – Object Management Architecture CORBA – Common Object Request Broker Architecture MDA – Model Driven Architecture UML – Unified Modeling Language www.omg.org

OMA – Object Management Architecture Zugekaufte Komponenten: - Domain (vertical) – branchenspezifisch - Horizontal – allgemeine Dienste (z.B. Doku-Verwaltung) Client-Side ORB – Object Request Broker Interface: IDL – Interface Description Language Transport: IIOP – Internet Inter ORB Protocol Server-Side Basisdienste ca. 20 Services Z.B. Security-Service

CORBA Aktuelle Version 3.0 Hauptzielsetzungen: www.corba.org Objektorientierung Ortstransparenz Sprachunabhängigkeit eingesetzte Programmiersprache (z.B. Java, C++, …) Interoperabilität Zusammenarbeit zwischen Plattformen (z.B. OS/390, AIX, Win, …) Portabilität Anwendungen installierbar auf unterschiedlichen Plattformen www.corba.org www.orbzone.org

Architektur von CORBA POA – Portable Object Adapter

IDL - Schnittstellensprache Deklarative (beschreibende) Sprache Source-Files mit Endung .IDL IDL-Compiler setzen diese zu Stubs bzw. Skeleton ums. Beispiel: module myModule01 { interface myInterface01 :myFatherInterface01 { attribute string myAttribute01; attribute … void myMethod01 (in float myParameter01, out double myParamter02, inout boolean myParameter03); void … };

CORBAServices Basisdienste Beispiele: INS – Interoperable Naming Service Publizieren von Objektreferenzen Zugriff auf Objektreferenzen OTS – Object Transaction Service Ermöglichung von verteilten Transaktionen (distributed transactional support) A - Atomicity C - Consistency I - Isolation D - Durability

Produkteanbieter IONA – www.iona.com BEA – www.bea.com ORBIX ORBACUS BEA – www.bea.com TUXEDO Weitere Info und komplette Liste von Implementationen: http://en.wikipedia.org/wiki/CORBA

Literaturempfehlung Verteilte Systeme und Anwendungen Ulrike Hammerschall ISBN: 3-8273-7096-5 Pearson Studium