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

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

Embed Size (px)

Citation preview

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

Mitglied der Fachhochschule Ostschweiz FHO 1www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

S

oft

war

e E

ng

inee

rin

g

Software Architektur II

Verteilte Anwendungsarchitekturen:

Java EE

.NET

CORBA

Page 2: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 2www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 3: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 3www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

JCP – Java Community Process

Community zur Weiterentwicklung der Java Technology Specifications

Unter der Führung von Sun Microsystems– www.jcp.org

Prozess zur Standardisierung:

Page 4: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 4www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 5: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 5www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Layer-Architektur I

Page 6: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 6www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Layer-Architektur II

Page 7: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 7www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Container-Architektur

JSP – Java Server PagesEJB – Enterprise Java Bean

Rich Client

Thin Client

Web Server Application Server

Page 8: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 8www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Web-Tier

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

Page 9: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 9www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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)

Page 10: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 10www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Session Beans I

Standardmethoden:– setSessionContext() – Metainformationen– ejbCreate() - Konstruktor– ejbRemove() - Destruktor– ejbActivate() / ejbPassivate()

Lifecycle von Sessions Beans:

Page 11: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 11www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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:

Page 12: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 12www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 13: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 13www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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:

Page 14: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 14www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Transaktionen I

Container-Managed Transaction (CMT)– Anhand des Transaktionsattributes wird das

Transaktionsmanagement automatisch vorgenommen:

Page 15: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 15www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Transaktionen II

Bean-Managed Transactions (BMT)– Die Transaktion wird individuell programmiert

• Datenbanktransaktionen: JDBC-Transcactions• Bean-Transaktionen: JTA (Java Transaction API)

Beispielcode:

Page 16: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 16www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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)

Page 17: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 17www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 18: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 18www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java EE: Web-Service

Unterstützung der Normen:– UDDI (Directory)– WSDL (Beschreibung)– SOAP (Kommunikation)

Page 19: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 19www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java ME: Mobile Service Architecture

Page 20: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 20www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Java Certification Program

Page 21: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 21www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Weiterführende Tutorials

http://java.sun.com/javaee/learning/

Page 22: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 22www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

IIS (Internet Information Server, Web-Server)

ClientsWorkstations Notebooks Handhelds Handy Web Services

SQL-Server

MTS (Microsoft Transaction Server)

COMCOM

COM

.NET Framework

WebServices

ASP

ExchangeServer

BizTalkServer

ADO.NET ...

.NET EnterpriseServer

Component Object Model

.NET-Architektur

Page 23: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 23www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

.NET versus Java EE

Page 24: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 24www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 25: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 25www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

OMA – Object Management Architecture

Client-Side

Server-Side

Zugekaufte Komponenten:- Domain (vertical) – branchenspezifisch- Horizontal – allgemeine Dienste (z.B. Doku-Verwaltung)

Basisdiensteca. 20 ServicesZ.B. Security-Service

ORB – Object Request BrokerInterface: IDL – Interface Description LanguageTransport: IIOP – Internet Inter ORB Protocol

Page 26: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 26www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

www.corba.org

www.orbzone.org

Page 27: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 27www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Architektur von CORBA

POA – Portable Object Adapter

Page 28: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 28www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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 …

};

};

Page 29: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 29www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

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

Page 30: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 30www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Produkteanbieter

IONA – www.iona.com – ORBIX– ORBACUS

BEA – www.bea.com– TUXEDO

Weitere Info und komplette Liste von Implementationen:– http://en.wikipedia.org/wiki/CORBA

Page 31: Mitglied der Fachhochschule Ostschweiz FHO 1  © FHS St.Gallen Software Engineering Software Architektur II Verteilte Anwendungsarchitekturen:

Mitglied der Fachhochschule Ostschweiz FHO 31www.fhsg.ch © FHS St.Gallen

So

ftw

are

En

gin

eeri

ng

Literaturempfehlung

Verteilte Systeme und Anwendungen

Ulrike Hammerschall

ISBN: 3-8273-7096-5

Pearson Studium