Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Mitglied der Fachhochschule Ostschweiz FHO 1 www.fhsg.ch © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Ähnliche Präsentationen


Präsentation zum Thema: "Mitglied der Fachhochschule Ostschweiz FHO 1 www.fhsg.ch © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:"—  Präsentation transkript:

1 Mitglied der Fachhochschule Ostschweiz FHO 1 © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen: Java EE.NET CORBA

2 Mitglied der Fachhochschule Ostschweiz FHO 2 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 3 © FHS St.Gallen Software Engineering JCP – Java Community Process Community zur Weiterentwicklung der Java Technology Specifications Unter der Führung von Sun Microsystems –www.jcp.orgwww.jcp.org Prozess zur Standardisierung:

4 Mitglied der Fachhochschule Ostschweiz FHO 4 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 5 © FHS St.Gallen Software Engineering Java EE: Layer-Architektur I

6 Mitglied der Fachhochschule Ostschweiz FHO 6 © FHS St.Gallen Software Engineering Java EE: Layer-Architektur II

7 Mitglied der Fachhochschule Ostschweiz FHO 7 © FHS St.Gallen Software Engineering Java EE: Container-Architektur JSP – Java Server Pages EJB – Enterprise Java Bean Rich Client Thin Client Web ServerApplication Server

8 Mitglied der Fachhochschule Ostschweiz FHO 8 © FHS St.Gallen Software Engineering Java EE: Web-Tier 2 Arten von Web-Applikationen: –Presentation-Oriented Client mit Browser –Service-Oriented Programm als Client (Consumer) eines Web-Services

9 Mitglied der Fachhochschule Ostschweiz FHO 9 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 10 © FHS St.Gallen Software Engineering Java EE: Session Beans I Standardmethoden: –setSessionContext() – Metainformationen –ejbCreate() - Konstruktor –ejbRemove() - Destruktor –ejbActivate() / ejbPassivate() Lifecycle von Sessions Beans:

11 Mitglied der Fachhochschule Ostschweiz FHO 11 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 12 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 13 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 14 © FHS St.Gallen Software Engineering Java EE: Transaktionen I Container-Managed Transaction (CMT) –Anhand des Transaktionsattributes wird das Transaktionsmanagement automatisch vorgenommen:

15 Mitglied der Fachhochschule Ostschweiz FHO 15 © FHS St.Gallen Software Engineering Java EE: Transaktionen II Bean-Managed Transactions (BMT) –Die Transaktion wird individuell programmiert Datenbanktransaktionen: JDBC-Transcactions Bean-Transaktionen: JTA (Java Transaction API) Beispielcode:

16 Mitglied der Fachhochschule Ostschweiz FHO 16 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 17 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 18 © FHS St.Gallen Software Engineering Java EE: Web-Service Unterstützung der Normen: –UDDI (Directory) –WSDL (Beschreibung) –SOAP (Kommunikation)

19 Mitglied der Fachhochschule Ostschweiz FHO 19 © FHS St.Gallen Software Engineering Java ME: Mobile Service Architecture

20 Mitglied der Fachhochschule Ostschweiz FHO 20 © FHS St.Gallen Software Engineering Java Certification Program

21 Mitglied der Fachhochschule Ostschweiz FHO 21 © FHS St.Gallen Software Engineering Weiterführende Tutorials

22 Mitglied der Fachhochschule Ostschweiz FHO 22 © FHS St.Gallen Software Engineering IIS (Internet Information Server, Web-Server) Clients Workstations Notebooks Handhelds Handy Web Services SQL-Server MTS (Microsoft Transaction Server) COM.NET Framework Web Services ASP Exchange Server BizTalk Server ADO.NET....NET Enterprise Server Component Object Model.NET-Architektur

23 Mitglied der Fachhochschule Ostschweiz FHO 23 © FHS St.Gallen Software Engineering.NET versus Java EE

24 Mitglied der Fachhochschule Ostschweiz FHO 24 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 25 © FHS St.Gallen Software Engineering OMA – Object Management Architecture Client-Side Server-Side Zugekaufte Komponenten: - Domain (vertical) – branchenspezifisch - Horizontal – allgemeine Dienste (z.B. Doku-Verwaltung) Basisdienste ca. 20 Services Z.B. Security-Service ORB – Object Request Broker Interface: IDL – Interface Description Language Transport: IIOP – Internet Inter ORB Protocol

26 Mitglied der Fachhochschule Ostschweiz FHO 26 © FHS St.Gallen Software Engineering CORBA Aktuelle Version 3.0 Hauptzielsetzungen: –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 Mitglied der Fachhochschule Ostschweiz FHO 27 © FHS St.Gallen Software Engineering Architektur von CORBA POA – Portable Object Adapter

28 Mitglied der Fachhochschule Ostschweiz FHO 28 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 29 © FHS St.Gallen Software Engineering 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 Mitglied der Fachhochschule Ostschweiz FHO 30 © FHS St.Gallen Software Engineering Produkteanbieter IONA – –ORBIX –ORBACUS BEA – –TUXEDO Weitere Info und komplette Liste von Implementationen: –http://en.wikipedia.org/wiki/CORBAhttp://en.wikipedia.org/wiki/CORBA

31 Mitglied der Fachhochschule Ostschweiz FHO 31 © FHS St.Gallen Software Engineering Literaturempfehlung Verteilte Systeme und Anwendungen Ulrike Hammerschall ISBN: Pearson Studium


Herunterladen ppt "Mitglied der Fachhochschule Ostschweiz FHO 1 www.fhsg.ch © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:"

Ähnliche Präsentationen


Google-Anzeigen