Client/Server-Systeme



Ähnliche Dokumente
Client/Server-Systeme

Workflow, Business Process Management, 4.Teil

Enterprise Application Integration Erfahrungen aus der Praxis

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Connection Architecture Teil 4 JCA

Client/Server-Systeme

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Enterprise Computing

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Softwareentwicklung mit Enterprise JAVA Beans

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

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

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

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Wiederholung: Beginn

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Service Oriented Architecture Teil 3

Client/Server-Systeme

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

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Entwicklung von Web-Anwendungen auf JAVA EE Basis

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Internetanbindung von Datenbanken

Client/Server-Systeme

Organisation und Systeme SOA: Erstellung von Templates für WebService Consumer und Provider in Java

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Lokale Installation von DotNetNuke 4 ohne IIS

SAP NetWeaver Gateway. 2013

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

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

Java und XML 2. Java und XML

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Einführung in z/os und OS/390

Einführung in Eclipse und Java

Übung: Verwendung von Java-Threads

3. Stored Procedures und PL/SQL

Man liest sich: POP3/IMAP

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

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

Microsoft.NET und SunONE

Verteilte Systeme: Übung 4

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

OP-LOG

ObjectBridge Java Edition

Etablierung serviceorientierter Architekturen mit Web Services

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

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Java Enterprise Architekturen Willkommen in der Realität

Ist Ihre Mainframe Anwendungs- Umgebung wirklich so effizient, wie Sie denken?

Implementierung von Web Services: Teil I: Einleitung / SOAP

Virtual Desktop Infrasstructure - VDI


Webservices in der IBM Welt eine neue Herausforderung für DB2 Spezialisten

CORBA. Systemprogrammierung WS

SE2-10-Entwurfsmuster-2 15

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

EIDAMO Webshop-Lösung - White Paper

Formular»Fragenkatalog BIM-Server«

Systemvoraussetzungen

OCTOPUS Appointment System von ADCOTEL -- System Architektur Version 1.1 vom Adcotel GmbH. I. Übersicht

RL

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Application Integration

E-Services mit der Web-Service-Architektur

AS/point, Ihr Partner die nächsten 10 und mehr Jahre -

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Java 2, Enterprise Edition Einführung und Überblick

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Enterprise Application Integration Erfahrungen aus der Praxis

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

18. Java Connection Architecture

Service Discovery in Ad-hoc Netzen

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

XING und LinkedIn-Integration in das erecruiter-bewerberportal

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 2

Installationsanleitung dateiagent Pro

Client/Server-Systeme

ORACLE Business Components for Java (BC4J) Marco Grawunder

Zustandsgebundene Webservices

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

PL/SQL Web-Services mit Oracle 11g

SWISSVAULT StorageCenter Console Version 5 Kurzanleitung für SWISSVAULT Combo Partner

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Henning Mersch. Tomcat. im Rahmen des RBG-Seminar SS04. Apache-Jakarta-Tomcat-Server RBG-Seminar 1/17

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Systemvoraussetzungen

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Online Banking System

eridea AG Installation Eclipse V 1.4

Systemvoraussetzungen

VVA Webservice Online Lieferbarkeits-Abfrage

Transkript:

Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2006 Teil 15 z/os Internet Integration cs 1100 ww6 sch 05-97

z/os Internet Integration Unternehmenskritische Anwendungen und Datenbankprozesse laufen in der Regel auf einem zentralen Server. In mittleren und großen Unternehmen und Organisationen ist dies in der Regel ein z/os bzw. OS/390 Rechner. Hieran wird sich in der voraussehbaren Zukunft auch nichts ändern. Aufgabenstellung: Diese existierende IT-Infrastruktur mit den Möglichkeiten des Internets integrieren.

Legacy-Systeme Legacy-System ist ein Begriff zur Bezeichnung einer "historisch gewachsenen Alt-Anwendung". In größeren Unternehmen sind das häufig Individualentwicklungen, die auf Großrechnern unter den z/os und OS/390 Betriebssystemen ablaufen. In etwa 80 % aller Fälle sind dies transaktionale Anwendungen, die unter Transaktionsmonitoren wie CICS und IMS ablaufen. Diese unternehmenskritischen Kernanwendungen sind meist über Jahrzehnte entstanden und bilden das Erbe mehrerer Generationen von Softwareentwicklern. Es wird geschätzt, dass etwa 10 Millionen Mannjahre in die Entwicklung von unternehmenskritischen OS/390- Anwendungen unter CICS investiert wurden. Das bedeutet eine Investition von etwa einer Billion US-Dollar in OS/390- Anwendungssoftware unter CICS. Die meisten dieser Programme sind in Cobol geschrieben. Die existierende Menge an Cobol-Programmen besteht aus etwa 180 Milliarden Code-Zeilen mit einer jährlichen Zuwachsrate von 5 Milliarden Code-Zeilen.

cs 1548 ww2k wgs 06-06

Beispiel: Große internationale Bank Modernisierung aller Anwendungen 20 Mill. Zeilen Code für z/os Cobol und PL/1 10 Mill. Zeilen Code für Unix und Windows Rechner 400 eigene Mitarbeiter im IT Bereich und 400 weitere Fachkräfte von Fremdfirmen. Jahresbudget 100 Millionen Euro. Geschätzte Produktivität für Neuentwicklung: 2 000 Zeilen Code pro Programmierer und Jahr Geschätzter Aufwand um alles neu zu machen: 15 000 Mannjahre Kosten für die Modernisierung: 1 500 Millionen Euro Zwei Fragen: 1. Sind die zusätzlichen Fachkräfte verfügbar 2. Haben wir nach Abschluss eine Verbesserung erreicht? cs 1549 ww2k wgs 06-06

ACCOUNTS ADD ACCOUNT NUMBER 26004 SURNAME : Meier (18 CHRS) TITLE : DR (4 CHRS OPTIONAL) FIRST NAME : Walter (12 CHRS) MIDDLE INIT: R (1 CHR OPTIONAL) TELEPHONE : 733456 (10 DIGS) ADDRESS LINE1: Heilbronnerstr. 91 (24 CHRS) LINE2: 70109 Stuttgart (24 CHRS) LINE3: (24 CHRS OPTIONAL) CARDS ISSUED : 1 (1 TO 9) CARD CODE : A (1 CHR) DATE ISSUED : 11 22 99 (MM DD YY) REASON CODE: L (N,L,S,R) APPROVED BY : DEF (3 CHRS) UPTO 4 OTHERS WHO MAY CHARGE (EACH 32 CHRS OPTIONAL) O1: O2: O3: O4: SPECIAL CODE1: CODE2: CODE3: (EACH 1 CHR OPTIONAL) NO HISTORY AVAILABLE AT THIS TIME CHARGE LIMIT STATUS NOTE:- DETAILS IN BRACKETS SHOW MAXIMUM NO. CHARACTERS ALLOWED AND IF OPTIONAL FILL IN AND PRESS "ENTER," OR "CLEAR" TO CANCEL 3270 BMS Darstellung Java Servlet - JSP Darstellung es 1203 ww6 wgs 05-02

CICS Bildschirmausgabe 3270 Protokoll graphische User Interface (uneingeschränkt) TN3270 EPI TCP62 DPL Character graphische ECI User Interface User Interface (eingeschränkt) Alternativen der Bildschirmausgabe CUI GUI Character User Interface Graphical User Interface es 1018 ww6 wgs 01-01

IBM WebSphere Host Access Transformation Services (HATS) HATS macht 3270 Bildschirmdarstellungen als HTML Seiten verfügbar. Es erkennt automatisch die Komponenten des 3270 Bildschirm-Inhaltes mit Hilfe eines Satzes vordefinierter Regeln. Es übersetzt die Komponenten des 3270 Bildschirm-Inhaltes in Echtzeit in HTML

Ursprünglicher Green Screen Halb-automatische Übersetzung mit Hilfe von WebSphere Host Access Transformation Services (HATS).

CICS virtueller Adressenraum andere virtuelle Adressenräume CICS Anwendungen Presentatiom Logik Business Logik Terminal Task Program Storage File Control Control Control Control Control TCT PCT PPT FCT COMMAREA OS/390 Kernel COMMAREA Communication Area COMMAREA kann benutzt werden um Ein/Ausgabedaten zu übergeben: An ein CICS Anwendungsprogramm im gleichen Adressenraum An ein CICS Anwendungsprogramm in einem anderen Adressenraum auf dem gleichen physikalischen Rechner, An ein CICS Anwendungsprogramm auf einem getrennten physikalischen Rechner unter Benutzung von EXEC CICS LINK (...) An ein nicht unter CICS laufendes Programm, z.b. ein GUI Prozess unter Verwendung der EPI Schnittstelle es 1356 ww 6 wgs 06-01

Konnektoren Bei den Implementierungen von Web Commerce Lösungen spricht man vom Frontend, welches typischerweise mit einem Web Application Server realisiert wird, und einem Backend (Beispiele Auftragseingang, Finanzbuchhaltung), wofür vorhandene Legacy Systeme eingesetzt werden. In vielen Fällen werden 20 % des Projektaufwandes für die Neuentwicklung des Frontends und 80% für dessen Integration in das vorhandene Backend aufgewendet. Konnektoren sind Java Beans, welche eine Schnittstelle zu existierenden Enterprise Information (Legacy) Systemen bilden. Beispielsweise sind folgende Konnektoren für die IBM WebSphere verfügbar: o JDBC, SQLJ o DB2 o Oracle o Adabas o CICS o IMS o MQSeries o SAP R/3 o Lotus Domino Die Konnektoren der J2EE Connector Architecture (JCA) werden als Resource Adapter bezeichnet. cs 1468 ww6 wgs 06-00

JCA Common Client Interface CCI Die Common Client Interface (CCI) definiert eine Standard Client API Die CCI ist eine EIS unabhängige API. Anwendungen können mit einer identischen API unterschiedliche Resource Adapter verwenden. Ähnlich JDBC Interface J2EE Connector Architecture CCI EIS Common Client Interface Enterprise Information System CCI und Resource Adapter sind als Java Klassen implementiert. Sie können von einer Java Anwendung alleinstehend benutzt werden ( non-managed environment ). Üblich ist es, CCI und Resource Adapter als Elemente eines Web Application Servers einzusetzen (managed environment). Hierbei kann der Web Application Server das Management von Verbindungen, Transaktionen und Sicherheit direkt übernehmen. Die CCI Entwicklung kann in ein Entwicklungswerkzeug wie Eclipse integriert werden.

CICS Anwendung EXCI ECI CICS CICS IIOP Transaction CICS Schnittstelle Gateway Transaction Gateway CICS Trans- z/os action Server WebSphere Verteilter Server WebSphere Server z/os Kernel Internet HTTP IIOP Browser Browser CORBA oder RMI/IIOP Alternative CICS Zugriffe über das Internet es 1372 ww6 wgs 12-01

Web Services Neue Dienste Enterprise Information System Oracle Internet Web Applic. Server Servlet EJB Presentation Glue DB2 CICS IMS Tuxedo Browser SAP Client/Server Aufgabenstellung Browser orientierter Web Zugang Datenhaltung in existierenden Datenbanken Dominierender Anteil der Business Logik in existierenden Transaktionsprogrammen und/oder Stored Procedures Neue Software (z.b. EJBs) stellen Querverbindungen zwischen existierenden Komponenten her (Glue) Transaktionsmaschine System Management - TCO cs 1521 ww6 wgs 06-00

Schalter/ Kern- Kasse anwendungs- - Sach- systeme bearbeiter Vertrieb Wrapping Transaktionsder Kern- Geschäfts verarbeitung systeme logik Mandantensysteme Externe Systeme und Daten- Gateways banken Front Office Integrations-Layer Processing und Geschäftslogik Anwendungsarchitektur in Front-Office (mit Präsentationslogik) und Integrationsebene mit der Geschäftslogik sowie Processing mit der Transaktionsverarbeitung, wird verwendet um bestehende Kernanwendungssysteme durch den Integration-Layer zu wrappen es 1403 ww6 wgs 07-02

Was ist ein Webservice? ein Service, den man über ein Internet Standard Protokoll wie z.b. SMTP, FTP und andere aufrufen kann. Gemeint ist aber meistens ein Service, der über http mit dem Simple Object Access Protocol (SOAP) aufgerufen wird. Das Simple Object Access Protocol ist weder simple noch Objekt-orientiert. Sun oder DCE RPC Web Services Transport Protokoll beliebig SOAP Daten XDR, ASN.1 XML Repräsentation Interface IDL WSDL Definition Namensdienst DNS, X.500 UDDI Directory Dienst LDAP

Web Services Web-Services sind eine Schnittstellen-Technologie. Erleichtern die Kopplung interagierender Systeme über technische Hindernisse hinweg. Simple Object Access Protocol (SOAP) ist ein Remote Procedure Call (RPC) Protokoll. Es benutzt Standard Internet Protokolle für den Transport - entweder HTTP für synchrone Aufrufe oder SMTP für asynchrone Aufrufe. XML beschreibt das Format der übertragenen Daten. SOAP ist unabhängig von der verwendeten Programmiersprache, dem Objekt Modell und dem jeweiligen Betriebssystem. Web Services Description Language (WSDL) beschreibt die Schnittstellendefinitionen eines Web Service. Beschreibt Formate der Anforderungs- und Antwort- Nachrichtenströme, mit denen Funktionsaufrufe an andere Programm- Module abgesetzt werden. (maschinenlesbare Gebrauchsanleitung). Universal Description, Discovery and Integration (UDDI) ist ein Dienstekatalog. Stellt ein Verzeichnis von Adress- und Produktdaten sowie Anwendungsschnittstellen der verschiedenen Web Service Anbieter dar. IBM - Microsoft Kooperation, breite Unterstützung, aber Firewall - HTTP Problem, Sicherheit, Reifegrad, Transaktionsdienste? Die Kombination aus UDDI, WSDL und Soap bildet einen Baustein für eine Service-Orientierte Architektur (SOA). cs 1520 ww6 wgs 06-00

Basic Technology HTTP MQ XML SOAP WSDL

Web Services Struktur Eigenschaften: Quick and dirty Implementierung von unkomplizierten Aufgaben Remote Procedure Call über Port 80 WSDL an Stelle von IDL - automatische Erstellung, z.b. IBM s Web Services ToolKit (WSTK) keine Objektorientierung skaliert schlecht Was fehlt: Sicherheit - HTTPS kann benutzt werden, ist aber unabhängig vom Web Service Mechanismus Transactionssteuerung, Flußsteuerung cs 1529 ww6 04-03

Client Aufrufende Prozedur Server Aufgerufene Prozedur Argumente Ergebnisse Argumente Ergebnisse Client Stub Server Stub Request Reply Request Reply Nachricht Nachricht Nachricht Nachricht Netzwerk Remote Procedure Call Client Programm Web Service Prozedure Implementation Argumente Ergebnisse Argumente Ergebnisse Client ProcedureStub CGI/JSP/ASP Script SOAP SOAP SOAP SOAP Reques t Reply Request Reply HTTP HTTP Post HTTP User Agent Response Server Web Services Remote Procedure Call cs 1528 ww6 04-03

SOAP Envelope Der SOAP Envelope ist das Wurzel (root) Element eines XML Dokumentes, welches die Nachricht (message) darstellt. Er hat die folgende Struktur: <SOAP-ENV:Envelope...> <SOAP-ENV:Header> <SOAP-ENV:HeaderEntry.../> </SOAP-ENV:Header> <SOAP-ENV:Body> [message payload ] </SOAP-ENV:Body> </SOAP-ENV:Envelope> Generell bestehr eine SOAP Nachricht aus 0, 1 oder mehr Headers und einem Body. Der SOAP Envelope definiert den Namensraum (namespace) für die Strukturierung der Nachricht. Die ganze SOAP Nachricht (Headers und Body) sind abgegrenzed (wrapped) in den Envelope.

Example of a simple SOAP Message A SOAP message is an envelope containing zero or more headers and exactly one body: The envelope is the root element of the XML document, providing a container for control information, the addressee of a message, and the message itself. Headers contain control information, such as qualityof-service attributes. The body contains the message identification and its parameters. Both the headers and the body are child elements of the envelope element. The header tells who must deal with the message and how to deal with it. When the actor is next, or when actor is omitted, the receiver of the message must do what the body says. Furthermore, the receiver must understand and process the application-defined <TranID>tag. The body tells what has do be done: Dispatch an order for quantityrequired 1 of itemrefnumber 0010 to customerid CB1 in chargedepartment ITSO.

SOAP Client HTTP MQSeries XML HTTP Transport Request Nachricht SOAP Pipeline Response Nachricht Web Services und CICS Message Adapter CICS Business Logic CICS Server Zum CICS Transaction Server gehört ein Simple Object Access Protocol (SOAP) Message Adapter. Mit Hilfe von Web Services kann auf neue oder existierende CICS Anwendungen zugegriffen werden, die in einer beliebigen Programmiersprache geschrieben sind. Dies geschieht dadurch, dass eine XML-basierte SOAP Message in eine COMMAREA abgebildet wird. Die SOAP Request kann die CICS Anwendung entweder über HTTP oder über WebSphere MQSeries aufrufen. Weiterhin können CICS Anwendungen auf Web Services zugreifen, die auf anderen Rechnern verfügbar sind. Diese Einrichtung ist z.b. für Business-to-Business (B2B) Anwendungen sinnvoll. cs 1544 ww6 wgs 11-04

cs 1234 ww6 wgs 12-02

Weitere Einsatzmöglichkeiten für SOAP HTTP ist nicht das einzige Transfer Protokoll das SOAP unterstützt. Andere unterstützte Transfer Protokolle sind: Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), MQSeriies jedes weitere Protokoll, das in der Lage ist, Text zu übertragen. Beispielsweise benutzen große Banken und Versicherungen SOAP für asynchrone File Transfer Operationen.

cs 1537 ww6 wgs 05-04

cs 1531 ww6 04-03

Java Class OS/390 Servlet WebSphere JVM DB2 Native Driver JDBC, DB2Connect Driver Java Class Servlet Produktions- Umgebung WebSphere Arbeitsplatz Rechner Produktion JVM Middle Tier Rechner export Repository Entwicklungsumgebung Arbeitsplatzrechner Entwicklung Trennung zwischen Entwicklung und Produktion es 1381 ww6 wgs 03-02

WebSphere Studio Developer for zseries (WDz) WebSphere Studio Enterprise Developer (WSED) Eclipse-based integrated development environment (IDE) for developing enterprise-level, multi-tier applications WebSphere Studio Enterprise Developer builds on Rational Application Developer (RAD/WSAD). It offers features to support Struts-based Web application development and features to mordernize legacy enterprise systems. Extends access to z/os systems from the workstation EGL to create COBOL/CICS/JFace Multi-tier apps Supports a project structure for building zos applications in COBOL, PLI, Assembler Supports TSO/Batch, CICS, IMS, DB2 environments DB2 Stored Procedures COBOL, PLI, Java, SQL Enables COBOL applications for SOA via XML enablement WSED beinhaltet in der Workbench die Tools, um PL/1- und COBOL-Programme zu entwickeln, zu pflegen und remote auf dem Host zu compilieren und zu debuggen.

WebSphere Developer zseries Rational Application Developer Rational Web Developer Eclipse WDz Plug-in for Eclipse Rational Web Developer Web Development Web Services Development Rich Client Development Rational Application Developer J2EE und EJB Development Component Testing Code Review und Runtime Analysis UML Visual Editors WebSphere Developer for zseries (WDz) z/os Application Development XML Services for z/os BMS Map Editor CICS Application Development, Cobol, PL/1 and Java Stored Procedure Development, Cobol, PL/1 and Java

Web Backend Clients Sphere Application XP, Linux Unix z/os Production Production Production Die Überführung einer neuen Anwendung Library von der Test Umgebung in die Produktion ist ein komplexer und aufwendiger Prozess Test Web Library Client Sphere XP, Linux NT Unix z/os Test Test Repository XP, Linux Development Machine 1. Compile C oder Cobol Code 2. Link Templates Linkage Table Options Load Module 3. Test Überführung von der Entwicklung in die Produktion es 0803 ww6 wgs 07-00

Client/Server Praktikum WS 2006/2007 Prof. Dr.-Ing. Wilhelm G. Spruth Es werden die folgenden Aufgaben bearbeitet: 1. LDAP Directory Service 2. CORBA 3. Java RMI und RMI/IIOP 4. Programmierung unter OS/390 mit ISPF 5. CICS BMS Transaktion - Zugriff auf eine DB2 Datenbank 6. Servlet und MQSeries 7. z/os Zugriff von einem Java Klienten auf z/os DB2 Als Option besteht die Möglichkeit zu weiteren Experimenten: 1. OS/390 Java Data Base Connectivity mit Eclipse Framework 2. Java Client Zugriff mit MQSeries auf CICS COMMAREA 3. Java Client Zugriff mit CTG auf CICS COMMAREA 4. Programmieren mit WDz Betreuung durch Frau Huiyan und Herrn Al Aaish. Die Vorlesung Client/Server Systeme ist als Wahlfach innerhalb der Technischen Informatik zugelassen, und kann mit 2 Stunden in den Prüfungsplan Technische Informatik aufgenommen werden. Das Praktikum kann im Rahmen der Fachprüfung Technische Informatik in den Prüfungsplan mit 4 SWS aufgenommen werden. Anmeldung bei Frau Reimold, Lehrstuhl Prof. Rosenstiel cs 1602 ww6 wgs 06-02

Studienarbeiten Diplomarbeiten Wir bieten laufend Studien- und Diplomarbeiten zu aktuellen Themen an. Schwerpunkt ist die Nutzung des z/os Rechners in einer Internet Umgebung. Beispiele aus jüngster Vergangenheit sind : Untersuchungen zur Transaktionssicherheit von Java Anwendungeen Entwicklung neuartiger Algorithmen für den z/os Work Load Manager Funktionen unter WDz Einige Beispiele sind zu finden unter: http://wwwti.informatik.uni-tuebingen.de/~spruth/diplarb/index.html Mehrere Arbeiten haben in der Vergangenheit zu Fachveröffentlichungen in wissenschaftlichen Zeitschriften geführt (siehe http://www-ti.informatik.unituebingen.de/~spruth/publish.html) Arbeiten können am Institut für Informatik oder extern bei Partnern in der Wirtschaft angefertigt werden (z.b. IBM Forschung und Entwicklung Böblingen). Kontaktaufnahme: spruth@informatik.uni-tuebingen.de Tel.: 0172-8051-485 oder über den Lehrstuhl Prof. Rosenstiel / Frau Reimold cs 1604 ww6 wgs 06-99

Client/Server Systeme Beispiele für Prüfungsfragen Unterschied zwischen Sockets und Ports. Überblick über die Struktur eines einfachen Socket Programms. Wie findet ein Socket Programm seinen Server? Was ist ein RPC. Ist er (normalerweise) asynchron oder synchron? Funktion der Stubs und Skeletons. Problem des Copy by Restore. Bei der Erstellung eines Remote Procedure Calls wird die Schnittstelle zum Server mittels einer Interface Definition Language beschrieben. Die Beschreibung wird mittels eines RPCGEN bzw. IDL Compilers verarbeitet. Wieso? Was macht man, wenn der Klient eine Little Endian und der Server eine Big Endian Datendarstellung verwendet. Bei Sockets? Beim RPC? Was sind XDR und ASN.1? Treten die hier angesprochenen Probleme auch bei CICS DPL auf? Bei CORBA? Bei Java RMI? Wodurch unterscheidet sich ASCII von EBCDIC? Unterschied zwischen symmetrischen (z.b. DES) und asymmetrischen (z.b. RSA) Chiffres. Wie funktioniert eine digitale Unterschrift? Was ist ein Message Digest? Wozu wird es benötigt? Aufgabe eines Key Distribution Servers. Konzept des Kerberos Authentifizierung Prozesses. Was sind Ipsec, Secure Socket Layer und Pretty Good Privacy? Was sind Access Control Listen und Capabilities? RACF? Unterschied zwischen einem Schicht 3 und einem Schicht 7 Firewall. Unterschied zwischen einem Namensdienst (z.b. DNS) und einem Verzeichnisdienst (z.b. X.500, LDAP). Gibt es so etwas auch unter CORBA? Unter Java RMI? Was sind die ACID Eigenschaften bei der Transaktionsverarbeitung? Können Transaktionen parallel (multithreaded) verarbeitet werden? Probleme? Was sind Stored Procedures, im Gegensatz zu einem Transaktionsmonitor?

Warum brauchen wir Locks (Sperren) in der Transaktionsverarbeitung? Was sind Logical Units of Work (LUW) und Sperrpunkte (SyncPoints)? 2-Phase Commit Protokoll. Was ist es? Warum braucht man es? Können Sie mit den Begriffen CICS (Customer Information Control System) und 3270 Protokoll etwas anfangen? Was sind Conversational und Pseudo-conversational Transactions? Was ist eine Session? Wie wird der State einer pseudoconversationalen Transaktion gehalten? Der RPC arbeitet (normalerweise) synchron. Sind auch asynchrone Client/Server Systeme denkbar? (Stichwort:Message oriented Middleware). Unterschied zu e-mail? Wie spielen Servlets und Java Server Pages zusammen um HTML Bildschirminhalte zu erzeugen. Ist ein Servlet eine Java Klasse? Ist eine JSP eine Java Klasse? Können beide mit einer URL aufgerufen werden? Wozu dient ein Form Tag? Was ist ein Web Application Server? Was sind Enterprise Java Beans? Unterschied zwischen Entity, Message und Session Beans? Wie speichern erstere und letztere ihre Daten? Wie verteilt ein Web Application Server seine Last auf mehrere Prozessoren? Welche Probleme will man mit CORBA lösen? Was ist die Aufgabe eines ORB? Aufgabe des CORBA IDL Compilers. Warum braucht man ihn? Was ist überhaupt eine Interface (Schnittstelle)? Gibt es so etwas auch beim RPC? Aufgabe des Schnittstellen (Interface) Repositories und des Implementation Repositories. Alternativen zu CORBA. Haben CORBA, RMI und DCOM ähnliche Funktionen? Welches Problem versucht man mit RMI over IIOP zu lösen? Gibt es außer TCP/IP noch andere Transport Protokolle? Client/Server Systeme unter OS/390. Können Java Programme auf CICS zugreifen? CORBA Programme? Der CICS Basic Mapping Support hat eine begrenzte Funktionalität. Was sind die Alternativen ( COMMAREA, CICS Transaction Gateway?) Was sind Connectoren, und die Java J2EE Connection Architecture? Was versteht der Java J2EE Standard unter einem Enterprise Information System. Kann ein solches auch in Java erstellt werden? Probleme?

Was sind Web Services? Sind sie objektorientiert? Was ist SOAP? Was ist WSDL? Wenn Web Servies und SOAP als Remote Procedure Call eingesetzt werden, gibt es hier auch eine IDL? Was ist ein Integrated Development Environment (IDE)? Was ist Eclipse? Was ist WDz? Praktikum Wenn das Praktikum Teil des Prüfungsumfangs ist, wird der Inhalt der Aufgaben diskutiert. Es wird erwartet, dass Sie sich an den Inhalt der Übungen erinnern. Beispielsfragen sind : Was ist eine CICS Group? Wozu braucht man sie? Was bewirkt das CICS SENDMAP Statement? Wie wird der Speicherplatz in einer DB2 relationalen Datenbank angelegt? Angenommen, ein Servlet läuft unter WebSphere. Welchen Unterschied gibt es, wenn WebSpere auf einem getrennten Middle-Tier Rechner oder in einem virtuellen Adressenraum unter OS/390 bzw. z/os läuft? Was sind Unix System Services unter OS/390 bzw. z/os? Was ist der Unterschied zu Linux, angenommen Linux wird als reines Server Betriebssystem eingesetzt? Was ist eine MQSeries Queue, ein Queue Manager und ein Message Queue Channel? Unterschiede zwischen JDBC, SQLJ und DB2Connect. cs 1603 ww6 wgs 06-99