Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Architektur II

Ähnliche Präsentationen


Präsentation zum Thema: "Software Architektur II"—  Präsentation transkript:

1 Software Architektur II
Verteilte Anwendungsarchitekturen: Java EE .NET CORBA

2 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

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

4 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:

5 Java EE: Layer-Architektur I

6 Java EE: Layer-Architektur II

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

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

9 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)

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

11 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:

12 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

13 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:

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

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

16 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)

17 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

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

19 Java ME: Mobile Service Architecture

20 Java Certification Program

21 Weiterführende Tutorials

22 .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

23 .NET versus Java EE

24 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

25 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

26 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

27 Architektur von CORBA POA – Portable Object Adapter

28 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 … };

29 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

30 Produkteanbieter IONA – www.iona.com BEA – www.bea.com
ORBIX ORBACUS BEA – TUXEDO Weitere Info und komplette Liste von Implementationen:

31 Literaturempfehlung Verteilte Systeme und Anwendungen Ulrike Hammerschall ISBN: Pearson Studium


Herunterladen ppt "Software Architektur II"

Ähnliche Präsentationen


Google-Anzeigen