PRG 5 Komponentenorientierte Software-Entwicklung



Ähnliche Dokumente
Komponentenbasierte Softwareentwicklung

Jürgen Schwab, debis Systemhaus

Internetanbindung von Datenbanken

Softwareentwicklung mit Enterprise JAVA Beans

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

SE2-10-Entwurfsmuster-2 15

Von Windows-Forms zu WPF mit Expression Blend? Thomas Müller conplement AG Nürnberg

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

E-Business Architekturen

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

ORACLE Business Components for Java (BC4J) Marco Grawunder

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Kurzfassung der Studienarbeit

GuiXT und mysap ERP. Regensdorf, April 2004 Dr.Gerhard Rodé, Synactive GmbH

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Systemvoraussetzungen

Vorlesung Donnerstags, bis Uhr, HS12 Übung Dienstags, bis Uhr 4-5 ÜbungsbläMer (Programmieraufgaben)

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Entwicklung von Web-Anwendungen auf JAVA EE Basis

GKSpro WebServer. Überblick. Web Server. GKSpro. Datenbank. GKSpro. InfoBrief Nr. 61 November GKSpro WebServer.

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

VBA-Programmierung WS 2008/09

SAP SharePoint Integration. e1 Business Solutions GmbH

Etablierung serviceorientierter Architekturen mit Web Services

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon

Innovative Mainframe-Integration

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

Java Enterprise Architekturen Willkommen in der Realität

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

ObjectBridge Java Edition

Secure Network Communications (BC-SEC-SNC)

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

17 Komponentenbasiertes Software-Engineering

SAP NetWeaver Gateway. 2013

Client/Server-Systeme

CORBA. Eine kurze Einführung. Common Object Request Broker Architecture. Ying Lu

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Workflow, Business Process Management, 4.Teil

Architecture Blueprints

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

Nico Lüdemann. Applikationsvirtualisierung mit Microsoft SoftGrid Galileo Press

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

JPC Visualisierung in Java

Workflow Systeme mit der Windows Workflow Foundation

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

CORBA. Systemprogrammierung WS

Installation EPLAN Electric P8 Version Bit Stand: 07/2014

SOFTWARE FÜR MOBILE ANLAGEN- INSPEKTIONEN MIT EX-SCHUTZ TERMINALS

Xpert.IVY das GUI ist entscheidend!

C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Systemvoraussetzungen

Persona-SVS e-sync GUI/Client Installation

Kap. 35 Swing: Grundlagen Kap Swing: Hauptfenster

Luca Piras SharePoint Specialist it-function software GmbH

CADEMIA: Einrichtung Ihres Computers unter Windows

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Fachapplikationen in heterogenen IT Landschaften

Einführung in MSDNAA

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

MetaQuotes Empfehlungen zum Gebrauch von

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Systemvoraussetzungen

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Informationswirtschaft II Rational Unified Process (RUP)

Verfahren zum Herunterladen von Navioncis vorbezahlten Goldkarten vom Navionics ChartInstaller

Informationswirtschaft II

Alle Informationen zu Windows Server 2003 Übersicht der Produkte

Kapitel 2: Der Software-Entwicklungsprozess

AGILES Software Engineering in der COUNT IT. Testautomatisierung in der agilen Softwareentwicklung

Enterprise Application Integration Erfahrungen aus der Praxis

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Zend PHP Cloud Application Platform

Applikationsvirtualisierung in der Praxis. Vortrag an der IHK Südlicher Oberrhein, Freiburg Thomas Stöcklin / 2007 thomas.stoecklin@gmx.

Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Aufgabe GBIS (TPCW-Benchmark)

1. Voraussetzungen Windows Mac Installation Rechte Sicherheitseinstellungen Aufruf des Editors 3

Service-Orientierte InterSystems GmbH 2009

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten

Schriftgut- und Informationsverwaltung. Anleitung BürgerTOP

QM/PM Partnerrollen HELP.BCBMTOM. Release 4.6C

TELEMETRIE EINER ANWENDUNG

Übung - Verwaltung der Gerätetreiber mit dem Geräte-Manager in Windows 7

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

EIDAMO Webshop-Lösung - White Paper

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Webbasierte Leittechnik vom Gerät zum System Dr. Michael Unkelbach, Energy Sector, PG LDE1

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Perceptive Document Composition

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

Hinweise zur Verwendung von myfactory unter Windows XP mit Service Pack 2

Einführung in Eclipse und Java

Transkript:

PRG 5 Komponentenorientierte Software-Entwicklung J. Heinzelreiter WS 2004/05

Organisatorisches Beurteilung PRG5 (VL) Schriftliche Klausurarbeit (ohne Unterlagen) SWT5x (ÜB) Keine Klausur Kleinere Projektarbeiten Präsentation der Projektarbeiten Gespräch über Projektarbeiten Unterlagen/Literatur http://www.fh-hagenberg.at/staff/jheinzel/prg5 Grundlegende Literatur Weiterführende und ergänzende Literatur 2 Einführung

Noten: Statistische Auswertung Vergleich Notengebung PRG4/PRG6 (SS 2002 bzw 2003) 35 32 30 27 Häufigkeit 25 20 15 10 5 0 14 3 4 5 0 0 0 0 0-5 -4-3 -2-1 0 1 2 3 4 5 Notendifferenz: PRG6-PRG4 3 Einführung

Organisation Zusammenspiel mit anderen LVAs PRG5 Komponentenorientierte Software-Entwicklung DEN5 Web- Engineering SWT5x gemeinsame Übung 4 Einführung

Inhalte - Überblick Wintersemester Einführung JavaBeans CORBA Sommersemester COM/Automation ATL/ASP EJB.NET Web-Services 5 Einführung

Inhalte: Vorläufiger Plan für das WS Vorlesung Einführung JavaBeans CORBA Feiertag CORBA Übung Vertiefung Java/RMI JavaBeans Feiertag CORBA Projekt Projekt arbeit 1 EJB EJB Web-Services Weihnachtsferien EJB EJB Web-Services Präsentation Projektarbeit 2 6 Einführung

Wozu Komponenten? Traditionelle SW-Entwicklung Objektorientierte SW- Entwicklung Komponentenorientierte SW-Entwicklung 7 Einführung

Historische Entwicklung (1) 40er-Jahre Maschinensprache. 50er-Jahre Teure Computer (~ $ 2.000.000.000), Billige Entwickler, Effizientere Nutzung des Computers: Betriebssystem, Produktivität des Entwicklers war sekundär. Symbolischer Assembler, Erfindung von Unterprogrammen. 8 Einführung

Historische Entwicklung (2) 60er-Jahre Hochsprachen: FORTRAN, LISP, BASIC, Simula. Entwicklung komplexerer Softwaresysteme. Vergrößerung der Projektteams. Hochsprachen erlaubten keine Black Boxes. 70er- und 80er-Jahre Software-Entwicklungskosten explodierten. Viele Softwareprojekte scheiterten. Softwarekrise. 90er-Jahre: Software-Komponenten. 9 Einführung

Komponenten - Definition Definition Komponente (1) A small binary object or program that performs a specific function and is designed in such a way to easily operate with other components and applications. (www.webopedia.com) Definition Komponente (2) A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to compositions by third parties. (C. Szyperski) 10 Einführung

Komponenten - Anwendungsgebiete Baugewerbe Baustoffe, Ziegel, Fenster, Küchen, Badezimmer. Elektronikindustrie Widerstände, Dioden, Transistoren, Integriere Schaltkreise, Mikroprozessoren, DVD-Laufwerke, Motherboards, Karten. Die Verwendung von Komponenten ist in diesen Bereichen absolut selbstverständlich! 11 Einführung

Markt für Komponenten Fragestellung in traditionellen Industrien Gibt es bereits eine derartige Komponente? Wo kann ich diese Komponente kaufen? Wo ist die Komponente am billigsten? Wie muss ich Anforderungen ändern, damit eine Standardkomponente eingesetzt werden kann? Voraussetzung für Entwicklung eines Marktes: Standards Großes Angebot an Standard- und anwendungsspezifischen Komponenten. Fördern Konkurrenz zwischen Anbietern. 12 Einführung

Monolithische Anwendungen Anwendung Objekte bzw. Funktionen u. Datenstrukturen Monolithische Anwendungen sind in sich abgeschlossen und sind kaum ineinander integriert. 13 Einführung

Komponenten-basierte Anwendungen Auf Komponenten basierte Anwendungen können einfach integriert werden. 14 Einführung

Abgrenzung zu C++/Java-Klassen C++-Klassen C/C++-Laufzeitumgebung ist nicht standardisiert. Beschreibung der Schnittstelle (Header-File) ist sprachabhängig und nicht Teil der binären Repräsentation. Viele Änderungen in der Klasse bedingen Neuübersetzung (Hinzufügen einer Datenkomponente). Komplexe Abhängigkeiten mit anderen Klassen. Java-Klassen Entsprechen mehr dem Komponenten-Konzept. Integration in Nicht-Java-Anwendungen ist schwierig. Keine Unterstützung zur Design-Zeit. 15 Einführung

Standards für Software-Komponenten Microsoft COM Builder Tool: Visual Basic, C++, Java, Office Tools Komponente: VBX, OCX, ActiveX-Control Microsoft.NET Builder Tool: Visual Studio.NET Komponente:.NET-Komponente (in beliebiger.net-sprache) Borland/Inprise: Builder Tool: Delphi, C++-Builder Komponente: Delphi-Komponente Sun/JavaSoft Builder Tool: BeanBuilder, JBuilder, NetBeans, Sun ONE Studio (Forte), VisualAge, Code Warrior Komponente: JavaBean 16 Einführung

Komponenten-Technologien: Gemeinsamkeiten Komponenten liegen in binärer Form vor. GUI-Design erfolgt grafisch mit Builder Tool. Properties definieren Verhalten und Aussehen. Events steuern die Interaktion mit anderen Komponenten. Properties und Events können bereits zur Design- Zeit verändert werden. 17 Einführung

Delphi: Komponenten-Palette 18 Einführung

Delphi: Object Inspector 19 Einführung

Delphi: GUI-Design 20 Einführung

Visual Basic: Design Time 21 Einführung

Visual Basic: Run Time 22 Einführung

Bean Builder 23 Einführung

Borland JBuilder 24 Einführung

Enterprise-Anwendungen Anwendungen und Merkmale komplexe (Business-)Logik, umfangreiche, komplex strukturierten Daten, besondere Sicherheitsanforderungen, Transaktionen stehen im Mittelpunkt, viele Clients auf verschieden Plattformen, Verteilung auf verschiedene Plattformen: UNIX, AS/400, Windows, Macintosh, Heterogene Entwicklungsumgebung: C, C++, Java, COBOL, Basic, Perl, Smalltalk. 25 Einführung

Mainframe-Anwendungen (1) Terminals Mainframe: Anwendungen und Daten 26 Einführung

Client/Server-Anwendungen Windows Client Daten Mac Client Unix Client Thick Client Oracle, DB2, SQLServer, Informix, Sybase, etc. Server 27 Einführung

Mehrschicht-Anwendungen Windows Client Browser Client Java Client Mobile Client Thin Client Application Server Middle-Tier Services Business Processes Middle Tier (NT/Unix/AS400) Corporate Data Oracle, DB2, SQLServer, Informix, Sybase Data Tier 28 Einführung

Mehrschicht-Architekturen (1) Client Komponente DB Driver DBMS, e.g., Oracle Komp. Komp. Presentation Tier Middle/Bussiness Tier Data Tier 29 Einführung

Mehrschicht-Architekturen (2) Instance- and Resource-Pooling Instance-Pool Client Account 1 Resource-Pool Instance- Manager Account 2 Instance-Pool Resource 1 Resource 2 DBMS Customer 1 Client Customer 2 30 Einführung

Enterprise-Architekturen Big Players Windows DNA (COM+) bzw..net Enterprise Services Enterprise Java Beans (EJB) Merkmale Viele Clients können bedient werden. Einfache Implementierung von Transaktionen. Verwaltung des Zustands von Objekten. Authentifizierung/Autorisierung ist einfach. Resource Sharing/Pooling. Erleichtert Entwicklung von Anwendungen mit mehreren Threads. 31 Einführung

COM+/EJB Architektur (1) Client COM Runtime EJB Conainer Komp. DB Drivers 3. Datenzugriff DBMS, e.g., Oracle 1. Methode aufrufen 2. Transaktion beginnen Transaction Service (DTC) 4. An Transaktion teilnehmen DBMS, e.g., SQL Server 32 Einführung

COM+/EJB Architektur (2) Client COM Runtime EJB Conainer Komp. DB Drivers DBMS, e.g., Oracle 8. Ergebnis 5. Methode erfolgreich/mit Fehler beenden 6. Transaktion: Commit/Rollback Transaction Service (DTC) 7. Transaktion: Commit/ Rollback DBMS, e.g., SQL Server 33 Einführung

Architekturen für verteilte Anwendungen Client Stub Proxy COM/DCOM.NET (SOAP) CORBA Java RMI, RMI-IIOP IDL ORB DCOM RPC-Channel Remote Object Skeleton Stub 34 Einführung