Client/Server-Systeme

Größe: px
Ab Seite anzeigen:

Download "Client/Server-Systeme"

Transkript

1 Client/Server-Systeme Prof. Dr.-Ing. Wilhelm Spruth SS 2004 Teil 13 Web Application Server cs 0800 ww6 sch 02-97

2 Web Application Server Plattform für die Ausführung von Java Servlets, Java Server Pages und EJBs BEA Web Logic IBM WebSphere verfügbar auf allen Olattformen Windows, Unix, Linux, z/os Mehr als 2/3 aller in der Wirtschaft eingesetzten Web Application Server. Verwenden die Firmen-eigenen Transaktionsmonitore: Tuxedo, CICS Auch im Rennen: SAP Oracle Public Domain JBOSS, Tomcat cs 1535 ww6 wgs 04-04

3 Lehrbücher Dustin R. Callaway: Inside Servlets. Addison Wesley, ISBN (sehr große Anzahl von Lehrbüchern, welche vom Web heruntergeladen werden können, unter dem Stichwörtern Java, VisualAge oder WebSphere suchen) Berstein P., Hadzilacos V.: Goodman N., Concurrency Control and Recovery in Database Systems. (Dies ist ein vollständiges Buch, welches vom Web heruntergeladen werden kann) HTTP 1.1 Spec: HTML 4.01 Spec: CGI/Perl Tutorial: Apache User s Guide: cs 1505 ww6 wgs Java Ausprägungen Java Java Script Java Applet Java Servlet Java Server Pages Java Bean Enterprise Java Bean cs 1413 ww6 wgs 03-00

4 JavaScript JavaScript ist eine Scripting Language Nicht Teil von Java, der Java Virtuellen Maschine oder des Java tool set. Object basiert, hat keine Klassen und keine Vererbung Ursprünglich als Erweiterung von HTML definiert, für Code, der in ein HTML Dokument eingebettet, und "on the fly" ausgeführt wird. Beispiel: <script> function calculate(obj) { } </script> JavaScript Programme können auf dem Klienten oder auf dem Server laufen. cs 1432 ww6 wgs Unterschiede zu Java Script Java Applet Volle Java Funktionalität Läuft innerhalb der Java Virtuellen Maschine Wird als Teil der HTML Seite über das HTTP Protokoll in den Klienten geladen Kann eingesetzt werden, um für die nachfolgende Kommunikation zwischen Klienten und Server ein anderes Protokoll zu benutzen, z.b. IIOP, RMI, 3270 cs 1419 ww6 wgs 06-00

5 Java Java Java Quell Code Compiler Byte Code (xxx.java) (xxx.class) High Perf. Byte Java Code Compiler Verifier Class Loader Object Code Interpreter Just in Time Compiler Laufzeit Umgebung Java Virtuelle Maschine (JVM) Betriebssystem Kernel Hardware Java Virtuelle Maschine cs 1423 ww6 wgs 03-00

6 2848 ww6 wgs 04-01

7 WEB Browser HTML WEB WEB Browser Server WEB Browser Java und der Web Browser HTML Seiten werden zum Web Browser mit Hilfe des HTTP Protokolls übertragen. HTTP wird auch als Web RPC betrachtet. Wie der eigentliche RPC ist HTTP zustandslos: Request/Response. Keine Session. Erlaubt die Übertragung selbstbeschreibender Daten. Bei jeder Verbindungsaufnahme müssen Datenformate neu ausgehandelt werden. * cs 1431 ww6 wgs 03-00

8 Beispiele für Schicht 5 Protokolle: Telnet, FTP, 3270, HTTP, SOAP, IIOP, RMI/JRMP,... HTTP Protokoll HTTP ist ein connectionless und ein stateless Protokoll. Ein Web Zugriff erfolgt in 4 Schritten: 1. Klient öffnet eine Verbindung mit den (Web) Server, benutzt hierfür TCP (connection oriented), Socket Verbindung nach Port Klient sendet eine Request an den Server. Wird z.b. das URL eingegeben, so sendet der Klient (Browser) die HTTP Nachricht an den Server. GET /index.html HTTP/1.0 User-Agent: Mozilla/4.7 [en] (Win2000; I) Accept: image/gif, image/jpeg, */* 3. Der Server sendet eine HTML Seite als Antwort. 4. Die TCP Verbindung wird geschlossen. cs 1477 ww6 wgs 05-01

9 GET /login.html HTTP/1.0 User-Agent: Mozilla/4.7 [en] (Win2000; I) Accept: image/gif, image/jpeg, */* GET /login.html?username=dieter&password=pluto HTTP/1.0 User-Agent: Mozilla/4.7 [en] (Win2000; I) Accept: image/gif, image/jpeg, */* POST /abc.html HTTP/1.0 User-Agent: Mozilla/4.7 [en] (Win2000; I) Accept: image/gif, image/jpeg, */* Content-Length: 34 username=dieter&password=pluto HTTP/1.0 cs 1476 ww6 wgs 05-01

10 HTML Forms HTML Forms sind ein einfache Werkzeuge, mit dem ein Benutzer Daten mit Hilfe des HTTP-Protokolls an einen Server schicken kann. Ein HTML-Form besteht aus einem Code-Block, der mit dem <FORM> Tag anfängt und dem </FORM> Tag aufhört. Eine HTML- Seite kann mehrere Forms enthalten. <HTML> <HEAD><TITLE>Mailing LIST</TITLE></HEAD> <BODY> <FORM METHOD="POST" ACTION="/servlet/xyz.servlet" ENCTYPE="application/x-www-form-encoded"> <P>Name: <INPUT TYPE="TEXT" NAME="name" SIZE="25"></P> <P> Address: <INPUT TYPE="TEXT" NAME=" " SIZE="25"></P> <P><INPUT TYPE="SUBMIT" VALUE="Submit"> </FORM> </BODY> Der FORM Tag spezifiziert: Die zu benutzende HTTP-Methode. Hier ist dies POST; die Daten werden innerhalb des Bodys der Nachricht übertragen. Die Action. Dies ist meistens die URL, es kann aber auch die Action mit ihrem Namen angegeben werden. Der Typ der MIME-Enkodierung der Daten in der FORM. Der Default ist "application/x-www-form-encoded". es 1167 ww6 wgs 05-02

11 HTML Form <HTML> <HEAD><TITLE> Login </TITLE> </HEAD> <BODY> <H2>Login to Secure Site</H2> < FORM METHOD=POST ACTION="http://abc.de/servlet/xyz.servlet" > Username: <INPUT TYPE="TEXT" NAME="username" SIZE="25"><BR> Password: <INPUT TYPE="PASSWORD" NAME="password" SIZE="25"><P> <INPUT TYPE="SUBMIT" VALUE="Submit"> <INPUT TYPE="RESET" VALUE="Clear"> </FORM> </BODY> </HTML> cs 1523 ww6 wgs 04-03

12 HTTP WEB Browser HTML WEB WEB CGI Browser Server Programm SQL WEB Browser (WEB) Application Server Datenbank Server Dynamischer WEB Seiten Inhalt (1) Der Web Browser kommuniziert mit dem Web Server über das HyperText Transfer Protokoll (HTTP). HTTP ist das ursprüngliche Transport Protocol für das World Wide Web. Zwei Alternativen: Web Server sendet statische Seite aus der HTML Datenbank an den Web Browser. Web Server ruft über die CGI Schnittstelle Anwendungsprogramm auf. Dieses kann z.b. Daten aus einer OS/390 DB2 Datenbank verwenden, um eine dynamische HTML Seite zu erstellen. CGI Programme werden häufig in einer Script Sprache, z.b. PERL (Practical Extraction and Reporting Language) oder Unix Shell Script erstellt, können aber auch in einer beliebigen anderen Sprache, z.b. C++ oder Java geschrieben werden. cs 1414 ww6 wgs 03-00

13 WEB Browser HTML WEB WEB Java Browser Server Servlet SQL WEB Browser JDBC (WEB) Application Server Datenbank Server Dynamischer WEB Seiten Inhalt (2) Im Gegensatz zu CGI erfordert das Java Servlet nur light weight Context Switches. Daher deutlich besseres Leistungsverhalten. Servlets verfügen über alle Java API s, einschließlich JDBC (Java Data Base Connectivity). Java Server Pages (JSP) sind eine Erweiterung der Servlet API. Verwenden in Java geschriebene XML - ähnliche Tags und Scriplets. cs 1415 ww6 wgs 03-00

14 Web Server Servlet Container Prozess Servlet Instanzen Thread 1 Thread 2 Servlet Instanz Web Application Server Servlet Instanzen und Threads Es existiert nur eine einzige Instanz des Servlets mehrfache Threads, die mehrere Klienten Requests gleichzeitig befriedigen können Servlets werden dynamisch geladen, wenn sie erstmalig angefordert werden oder statisch laden beim Hochfahren des Containers es 1167 ww6 wgs 05-02

15 FF..FF CGI CGI CGI CGI Main Request 1 Request 2 Request 3 andere Thread Thread Thread Thread Prozesse Kernel CGI Ansatz FF..FF T h r e a d T h r e a d T h r e a d andere Prozesse Servlet Engine Kernel OO..OO Servlet Ansatz Ein Servlet kann über ein Session Objekt verfügen, welches Session Information über mehrfache Zugriffe verwaltet Ein Servlet kann einen Pool von Data Base Connections verwalten und eine Data Base Connection über Zugriffsgrenzen aufrechterhalten cs 1512 ww6 wgs 01-03

16 Servlet Container Servlets laufen in speziellen Servlet-spezifischen Containern, die auch als Servlet Engines bezeichnet werden. Sie verbessern u.a. die Servlet-Ausführungszeit. Servlet Container haben keine Transactions-, Persistence- und Sicherheitseigenschaften. Ein Servlet Container ist ein Programm, das Requests für Servlets und Java Server Pages (JSP) behandelt. Der Servlet Container ist verantwortlich für: Erstellung von Servlet-Instanzen, Initialisierung von Servlets, Dispatching von Requests, Verwaltung des Servlet-Kontextes für die Nutzung durch die Web-Anwendungen. es 1165 ww6 wgs 05-02

17 HalloWeltServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HalloWeltServlet extends HttpServlet { + public final static String message = "<html>\n" + "<head><title>hallo Welt</title></head>\n" "<body>\n" + "<h1>hallo Welt</h1>\n" + "</body></html>\n"; public void init() { System.out.println("In HalloWeltServlet init"); } public void destroy() { System.out.println("In HalloWeltServlet destroy"); } } public void service(servletrequest req, ServletResponse res) throws ServletException, IOException { PrintWriter out = res.getwriter(); out.println(message); } cs 1417 ww6 wgs 03-00

18 Java Server Pages (JSP) Java Server Pages sind in der Java Programmiersprache geschrieben. Benutzen XML-artige Tags und Scriplets um die Logik zu kapseln, die den Inhalt der Seite generiert. Alternativ kann die Anwendungslogik woanders liegen, und die Java Server Page greift hierauf mit den Tags und Scriplets zu. Trennung der Seiten-Logik vom Seitenentwurf und der Seitenwiedergabe. Experimentiern sie mit unseren OS/390 Servlets at (Vorsicht, Groß- und Kleinschreibung beachten) siehe auch Tutorials 14 und 15 JSP files are similar in some ways to server-side includes in static HTML because both embed servlet functionality into the Web page. However, in a server-side include, a call to a servlet is embedded within a special servlet tag; in JSP, Java servlet code (or other Java code) is embedded directly into the HTML page. One of the many advantages of JSP is that it enables you a programmer to effectively separate the HTML coding from the business logic in your Web pages. He can use JSP to access reusable components, such as servlets, Java beans, enterprise beans, and Java-based Web applications cs 1429 ww6 wgs 03-00

19 Einfache Java Server Page 1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> 2 <html> 3 <head> 4 <title>jsp Example 1</title> 5 <meta http-equiv="content-type" content="text/html; 6 charset=iso "> 7 <meta name="author" content="paul Tremblett"> 8 <meta name="generator" content="mozilla/4.51 [en] (X11; I; 9 Linux i586) [Netscape]"> 10 </head> 11 <body bgcolor="#ffffff"> 12 <p> 13 <font face="arial, Helvetica, sans-serif"><b><font size="+2"> 14 JSP Example 1 15 </font></b></font> 16 <br> 17 <br> 18 <font face = "Arial, Helvetica"><font size="+1"> 19 It is now 20 <%= 21 new java.util.gregoriancalendar(new java.util.simpletimezone 22 (-5*60*60*1000,"EDT")).getTime() 23 %> 24 </font> 25 </body> 26 </html> cs 1482 ww6 wgs 06-00

20 Web Application Server JSP Request HTML + JSP Java Quellcode Parser Quellcode Result Web Page (HTML) JSP Java Servlet Compiler Java Server Page (JSP) 1. Der Web Browser sendet eine Request an die JSP Seite. 2. Die JSP Engine parses den Inhalt der JSP File. Sie erstellt temporären Servlet Quellcode basierend auf dem Inhalt der JSP. 3. Der Servlet Quellcode wird durch den Java Compiler in eine Servlet Class File übersetzt. 4. Das Servlet wird instantiated. Die init and service Methoden des Servlets werden aufgerufen; die Servlet Logic wird ausgeführt. 5. Die Kombination von statischem HTML, kombiniert mit den dynamischen Elementen spezifiziert in der ursprünglichen JSP Definition, geht an den Web Browser zurück durch den Output Stream des Servlet Response Objektes. cs 1478 ww6 wgs 05-01

21 Web Server Browser Servlet Container Request Servlet Response Call Page Java Server Page Web Application Server Interaktion Servlet - JSP cs 1511 ww6 wgs 06-00

22

23 Servlet Beispiele Auf unserem OS/390 Server an der Uni Leipzig sind mehrere Lehrbeispiele für Servlets installiert. Der Quellcode dazu kann eingesehen weden. Sie können auf dem OS/390 WebSphere Server mit den folgenden URLs adressiert werden: /servlet/sm390.smjdbctestservlet /servlet/sm390.guestbookservlet Teilweise erfolgt ein Zugriff auf die OS/390 DB2 Datenbank Für die Erstellung dieser Beispiele existieren ausführliche Tutorials. es 1168 ww6 wgs 05-02

24 Microsoft Active Server Pages (ASP) Ähnliche Technologie wie Java Server Pages. Unterschied: Der dynamische Teil wird nicht in Java, sondern in Visual Basic (oder einer anderen Microsoft Sprache) geschrieben ASPs können nur auf Microsoft Windows Servern und Microsoft Web Servern eingesetzt werden. cs 1524 ww6 wgs 04-03

25 Komponente Teil- Teilkomponente komponente Objekt Objekt. Objekt Objekt Objekt Objekt Komponenten Komponenten sind unabhängige, in sich abgeschlossene, wohl definierte Software Einheiten, die eine spezifische Leistung über standardisierte Schnittstellen bieten. Komponenten lassen sich mit anderen Komponenten zu größeren Einheiten zusammenfügen, die wiederum Komponenten oder eigene Anwendungen sind. Komponenten setzen sich typischerweise aus Objekten zusammen. Komponenten lassen sich durch geeignete Parameterisierung in einer Vielzahl von Entwicklungsumgebungen einsetzen, und sind unabhängig von Sprache, Betriebssystem und Hardware. Eine Komponete hat eine Art "Stecker", mit dem sie sich verbinden kann. eine Art "Steckdose", welche benutzt wird, um verschiedenen Komponenten die Möglichkeit zu geben, sich "einzustecken". die Möglichkeit Informationen über sich selbst bekannt zu geben. eine spezifizierte Menge von Eigenschaften cs1222z ww6 wgs 11-98

26 Begriffe Business Object, System Level Object, Metadaten Ein Business Object ist eine Komponente der Anwendungsschicht, die in nicht voraussehbaren Kombinationen eingesetzt werden kann. Ein Business Object repräsentiert auf eine erkennbare, nachvollziehbare Art ein Objekt (eine Entity) des täglichen Lebens. Das Konzept eines Business Objektes steht dem betriebswirtschaftlich motivierten Anwendungskontext sehr viel näher als dem technisch motivierten Konstrukt eines programmiersprachlichen Objektes. Ein System Level Objekt repräsentiert eine Komponente, mit der der Benutzer nie direkt etwas zu tun hat. Sie wird lediglich von Informationssystemen und Programmen genutzt. Componentware ist Software, deren Teile sich baukastenartig zusammensetzen lassen. Metadaten sind sich selbst beschreibende Information, welche die dynamische Struktur eines Systems definieren. Im Falle einer Datenbank beschreiben Metadaten die Datenbank Struktur und werden im Repository verwaltet. cs 1159z ww6 wgs 06-98

27 Business Objekt Kunde Komponente 1 Name, Vorname 2 Titel, Anrede 3 Straße 4 PLZ 5 Ort Firmenanschrift 1 6 Straße 7 PLZ 8 Ort Firmenanschrift 2 9 Straße 10 PLZ 11 Ort Privatanschrift 12 Straße 13 Kunden-Nr. = f(objekt Nr., Objekt Identifikation 14 ca. 500 Attribute: Fax Nr. Tel. Nr. Adresse Info über Partner Info über Kinder Zeiger auf Kinder Arbeitgeber Stellung im Betrieb Mitglied im Tennisclub Blau Weiss Rentendaten cs 1184 ww6 wgs 05-01

28 Java Beans Objektorientiertes Java Komponenten Modell, JavaBeans sind Java binary parts häufig für visuelle Komponenten eingesetzt (etwa Buttons und Scrollbalken) Hauptmerkmale : Properties (Eigenschaften, z.b. get und set) Methoden und Events (Ereignisse) Namens Konventionen Introspection (BeanInfo Klasse) Der JavaBeans Komponenten Modell Teil des JDK Lieferumfangs unterstützt: Sicherheit (benutzt den Java Security Manager) Versionsmanagement Life-Cycle Management Event Notification, Configuration und Property management Scripting Meta-Daten und Introspection Persistenz (über Serialisierung) Benutzbarkeit (die BeanBox des JDK ist ein Prototyp einer grafischen Umgebung für das Zusammensetzen von Beans) Eigeninstallation(über Java Archiv Files) Für unternehmensweite Anwendungen (Enterprise Applications) fehlen Schlüsseleigenschaften, z.b Transaktionsdienste, Namensdienste und Sicherheitsdienste. Werden JavaBeans hiermit angereichert, spricht man von Enterprise JavaBeans. cs 1439 ww6 wgs 03-00

29 Browser Web Application Server HTML Page Servlet prepare Bean (Form ) call Bean HTML Page JSP access Bean (Ergebnis) DB2 Java Server Pages (JSP) Ein Servlet ist ein Java Programm, das Bildschirm Output in der Form einer HTML Datei produziert. Eine JAVAServerPage ist eine HTML Seite mit zusätzlichen JSP Tags. Wird eine JSP Seite aufgerufen, so kompiliert sie ein JSP Übersetzer in ein Servlet. In der Praxis: Servlets und JSP werden von verschiedenen Leuten erstellt (Model-View-Controller Ansatz). Eine JSP ist zwar eine vollwertige Java Komponente, aber der Java Code Anteil innerhalb der JSP wird in der Regel auf ein Minimum reduziert. Es existieren (wie für HTML Seiten) spezielle Werkzeuge für das Erstellen von JSP s, die das Hand-coding von HTML Statements automatisieren. cs 1429a ww6 wgs 05-01

30 Controller Interaction Control Servlet Model View Business Logik Beans Browser Page EJBs Construction CICS Connector DB2 Connector JSP Model/View/Controller Triade (MVC) Das Modell ist ein Anwendungsobjekt und kapselt die Business Logik. Der View ist die Screen Darstellung dieses Objektes. Der Controller definiert, wie die Benutzerschnittstelle auf Benutzereingaben reagiert. Command- und Data Beans oder Enterprise Java Beans (plus häufig CICS, IMS Programme, oder Stored Procedures) sind das Modell (=Business Logik). JSP s und View Beans sind der View Das Servlet ist der Controller MVC entkoppelt Modell und View zur Verbesserung von Flexibilität und Re-Use. Der Entwickler der Browser Darstellung arbeitet nur mit der Java Server Page. Zentrisches Programmier Modell. Die gesamte Anwendungslogik (EJB, Servlet, JSP) läuft auf dem Server. Der Klient (thin client) braucht nur einen Browser. cs 1425a ww6 wgs 05-01

31 Architektur einer JSP Web Anwendung cs 1479 ww6 wgs 05-01

32 Model - View - Controller Ansatz 1. HTML page: static or dynamic HTML page, created from a previous step, contains one or multiple forms that invoke a servlet for processing of the next interaction. 2. Servlet gets control from the Application Server to perform validation and control of flow; sets up and calls command beans that perform the business logic. 3. Command beans control the processing of the business logic; logic may be imbedded in the command bean, or it can be delegated to back-end or enterprise systems, such as relational databases, transactions systems (CICS, MQSeries, IMS, and so forth); command bean may perform one specific function or it may contain many methods, each for a specific task (task wrappers). Command beans invoke database and transaction systems using connectors. 4. Results of command beans (or back-end systems) processing are stored in data beans. Data beans could contain an SQL result or a CICS communication area. 5. View beans provide the contract between the output producing JSPs and the data beans that contain the dynamic data to be displayed in the output; servlet initializes the view beans and registers them with the request block so that the JSPs can find them. 6. Servlet calls a JSP for output processing and formatting depending on the results of the command beans; JSPs generate the output for the browser. 7. JSP use tags to declare the view beans and get access to all the dynamic data that must be displayed in the output. 8. View beans contain one or multiple data beans and provides tailored methods so that the JSP has access to the data stored in the data beans; data beans may not provide the necessary methods for a JSP to access the data. 9. JSP assembles the output and sends it back to the browser as an HTML page with dynamic data; in many cases, that output again contains form(s) to enable the user to continue the dialog with the application. Servlet is the controller Command beans provide the model JSP is the view cs 1481 ww6 wgs 05-01

33 Enterprise HTML Java SQL WEB Bean(s) Browser JDBC (oder andere) WEB WEB Java Browser Server Servlet WEB Browser (WEB) Application Server Datenbank Server Dynamischer WEB Seiten Inhalt (3) Im einfachsten Fall enthält das Java Servlet die Anwendungslogik. In komplexeren Fällen lohnt es sich, die Anwendung in Komponentenform zu implementieren. Java Beans implementieren das Java Komponentenmodell. Enterprise Java Beans sind Java Beans mit zusätzlicher Funktionalität, besonders Transaktionseigenschaften (ACID), Persistenz und Sicherheit. cs 1416 ww6 wgs 03-00

34 Enterprise Java Beans (EJB) Java basiertes Server Komponentenmodell, März Final Release der Version 1.1 der EJB Specifikation erfolgte im Dezember 1999 EJB Komponenten sind serverseitige Komponenten, die ausschließlich in Java geschrieben sind. EJB Komponenten enthalten nur Business Logik, keine Präsentationslogik und keine Systemfunktionen. EJBs sind in einen Container eingebettet (Laufzeitumgebung). Die EJB Architektur ist inhärent transaktionsorientiert, distributed, portierbar, multi-tier, scalierbar und sicher. Diese und weitere Systemfunktionen wie, Life-cycle management, threading und Persistenz werden automatisch für die EJB Komponente von dem EJB Container zur Verfügung gestellt. EJB Komponenten werden declarativ (über einen Deployment Descriptor) zur Laufzeit angepaßt. Die Anpassung bezieht sich auf Transaktionsverhalten, Sicherheitseigenschaften, life-cycle und state management, Persistenz, usw. Die permanente Speicherung eines Objektes auf einem Plattenspeicher wird als Persistenz bezeichnet. Konzeptuell können Objekte in einer Objektdatenbank (z.b. POET) gespeichert werden. In der Praxis werden SQL (oder IMS oder VSAM) Daten als Objekte gekapselt; der Zugriff erfolgt z.b. über eine JDBC (Java Data Base Connectivity), SQLJ oder DB2Connect Schnittstelle. Interoperabilität von EJBeans und CORBA konformen Objekten ist möglich. J2EE (Java 2 Platform, Enterprise Edition) kombiniert Technologien wie Servlet, JSP, EJB, JMS, Konnektoren und den JDK. cs 1442 ww6 wgs 03-00

35 Enterprise Java Beans (EJB) Java basiertes Server Komponentenmodell, März 98 EJBeans sind in einen Container eingebettet (über die EJB API angeschlossen). EJB Spezifikation legt fest: Regeln, denen eine EJBean entsprechen muß Funktionalität, die der Container über entsprechende Schnittstellen erbringt Art der Beschreibung einer EJBean für die Installation und Verteilung Abbildung auf das CORBA IIOP Protokoll Eigenschaften einer EJBean und deren Anforderungen an die Ablaufumgebung (z.b. Sicherheit, Transaktionssteuerung) werden durch die Attribute eines DeploymentSescriptors (Metadaten) deklarativ beschrieben. Interoperabilität von EJBeans und CORBA konformen Objekten ist möglich Erweiterungen von Transaktionsmonitoren wie CICS (IBM) oder UTM (Siemens) ermöglichen Verteilung, Integration und Message Queuing für EJB Komponenten (Object Transaction Monitor, OTM) cs1223z ww6 wgs Persistenz Das Objektmodell macht zunächst keine Annahmen über die permanente Speicherung der Objekte. Konzeptuell können Objekte in einer Objektdatenbank (z.b. POET) gespeichert werden. In der Praxis werden SQL (oder IMS oder VSAM) Daten als Objekte gekapselt; der Zugriff erfolgt z.b. über eine JDBC (Java Data Base Connectivity) Schnittstelle. Die permanente Speicherung eines Objektes auf einem Plattenspeicher wird als Persistenz bezeichnet. cs 1418 ww6 wgs 03-00

36 Schlüsseleigenschaften der EJB Technologie EJB Komponenten sind serverseitige Komponenten, die ausschließlich in Java geschrieben sind EJB Komponenten enthalten nur Business Logik, keine Systemfunktionen Systemfunktionen wie Transaktionsdienste, Sicherheit, Lifecycle, threading, Persistenz werden automatisch für die EJB Komponente von dem EJB Server zur Verfügung gestellt Die EJB Architektur ist inhärent transaktionsorientiert, distributed, portierbar, multi-tier, scalierbar und sicher EJB Komponenten werden declarativ zur Laufzeit angepaßt. Die Anpassung bezieht sich auf: Transaktionsverhalten, Sicherheitseigenschaften, life-cycle, state management, Persistenz, usw. EJB Komponenten sind voll portierbar über Betriebssystem und EJB Server Grenzen hinweg Für die Zusammenarbeit mit relationalen Datenbanken und anderen Datenquellen vorgesehen Final Release der Version 1.1 der EJB Specifikation erfolgte im Dezember 1999 cs 1442 ww6 wgs 03-00

37 Enterprise Java Beans (EJB) EJB EJB EJB EJB EJB EJB EJB EJB Container (andere Bezeichnungen:Laufzeitumgebung, Framework, Object Transaction Monitor - OTM) EJB Dienste JTS JIDL JNDI JMS JMAPI JDBC Enterprise Java Beans sind Java Beans mit erweiterter Funktionalität. Dies sind unter anderem JTS Java Transaction Service JNDI Java Naming directory Interface JMS Java Messaging Servics JDBC Java Data Base Connectivity JMAPI Java Management API JIDL Java interface definition language cs 1434 ww6 wgs 03-00

38 Enterprise Java Beans (EJB) Enterprise Java Beans sind Java Beans mit erweiterter Funktionalität. Dies sind unter anderem JTS Java Transaction Service JNDI Java Naming directory Interface JMS Java Messaging Servics JDBC Java Data Base Connectivity JMAPI Java Management API JIDL Java interface definition language JTS is the Java Transaction Service, an API for invoking transaction services. JNDI, the Java Naming and Directory Interface, is an API for accessing naming and directory services. JMS, the Java Message Service, is an API for invoking asynchronous message delivery services. JDBC, the Java Database Connectivity API, accesses data in existing databases through a common interface. JMAPI refers to the Java Management API, which defines access to a set of services for managing Java resources. JIDL refers to Java interface definition language, an interface to the CORBA set of services for distributed computing. cs 1435 ww6 wgs 03-00

39 E S S E E E S S EJB Container (andere Bezeichnungen:Laufzeitumgebung, Framework, Object Transaction Monitor - OTM) EJB Server (Web Application Server) S Session Bean (transientes Objekt) E Entity Bean (persistentes Objekt) Entity Beans Arten von EJBs repräsentieren spezifische Daten (z.b. eine Reihe in einer SQL Datenbank) Methoden ermöglichen die Manipulation der Daten, welche die Bean repräsentiert überleben, so lange die Daten in der Datenbank überleben. Session Beans können den internen Zustand einer Session speichern, der aber nicht persistent ist Lebensdauer ist häufig auf die Zeit einer einzigen Client/Server Session begrenzt. cs 1441 ww6 wgs 03-00

40 EJB Client ruft Methoden der Session Bean auf Entity Bean EJB Client Session Bean Entity Bean Entity Bean Session Beans: Session Fassade EJB Architektur Modell führen Geschäftsprozesse (Business Logik) aus manipulieren persistente Objekte (Daten), die als Entity Beans modelliert sind Probleme mit dem Session Fassade EJB Architektur Modell: Entity Beans sind verteilte Objekte, die von beliebigen Klienten aufgerufen werden können Entity Beans sind transaktionsfähig Beides ist bei einer Session Fassade unnötiger Overhead. Lösungsansatz : Java Data Objects (JDO) an Stelle der Entity Beans. JDOs sind reguläre Java Klassen, die über einen Persistence Encapsulation Mechanismus verfügen. Weitere Alternative: Konnektoren sind Java Klassen, die einen Zugriff auf CICS, Oracle, DB2 ermöglichen. cs 1491 ww6 wgs 01-02

41 EJB Schnittstellen Die EJB Object Schnittstelle empfängt alle Methodenaufrufe. Sie implementiert die Transaktions- Zustandsverwaltungs, Persistenzund Sicherheitsdienste für die Bean je nach den Angaben des Deployment Descriptors Methoden EJB Object Deployment Descriptor Enterprise Bean Klient find create remove EJB Home Environment EJB Container EJB Home dient der Identifizierung des Beans. Auf die EJB Home Schnittstelle kann mit JNDI zugegriffen werden. Sie implementiert alle Life-Cycle Dienste für die Bean cs 1443 ww6 wgs 03-00

42 Emterprise Bean remote Interface Home Interface Implementation Deployment Descriptor EJB *.jar File EJB Container Deployment Descriptor legt die Laufzeit Parameter einer EJB fest Parameter können statisch zur Assembly Zeit oder dynamisch zur Laufzeit festgelegt werden Beispiele für Parameter: Datenbank Name Verbindung zu Legacy Anwendungen JNDI Namensraum des Containers Transaktions-Semantik Umgebungseigenschaften typischerweise durch den EJB Entwickler angelegt kann durch einen Administrator mit Hilfe eines Tools abgeändert werden cs 1444 ww6 wgs 03-00

43 HTML Web Servlets Server JSPs EJBs SQL HTTP Servlet EJB Server Container Container Backend Java Application Server Datenbank Browser Web Application Server Server Führende Vertreter BEA WebLogic IBM WebSphere Weitere Implementierungen SAP Oracle Sun One Application Server (bisher iplanet) JBOSS - Tomcat Iona Orbix Inprise cs 1485 ww6 wgs 06-00

44 Application Server Hierarchie Der Web Application Server ist ein Prozess, der normalerweise in seinem eigenen virtuellen Adressenraum läuft. Er besteht aus mehreren Komponenten: 1. Der Web Server ist vielfach Apache. 2. Der Java Application Server unterhält u.a. eine Java Virtuelle Maschine 3. Der Servlet Container (Servlet Engine) ist eine Java Laufzeit Umgebung (runtime component) für die Ausführung von Servlets und Java Server Pages. 4. Der EJB Container ist eine Laufzeit Umgebung für die Ausführung von deployed Enterprise Java Beans ww6 wgs Skalierbarkeit Leistungsverhalten eines Windows NT Web Servers 600 statische Zugriffe pro Sekunde 100 Java Zugriffe pro Sekunde Anforderungen eines größeren Unternehmens in 1999 Spitzenbelastung mehrere tausend dynamische Zugriffe pro Sekunde Verhältnis 5 : 1 Spitzen- zu Durchschnittsbelastung. Verhältnis 10 : 1 nicht selten. Beispiel: Fernsehwerbung für ein e-commerce Unternehmen kann Belastung dramatisch anwachsen lassen. Faktor 10 Wachstum erwartet in wenigen Jahren cs 1454 ww6 wgs 03-00

45 Shared Database Shared Files Shared Sessions HTTP Engine HTTP Engine HTTP Engine Ausprägung 1 Ausprägung 2 Ausprägung n Interactive Network Dispatcher (IND) Optimiert für hohen Durchsatz HTTP Server Der HTTP Server behandelt Anforderungen für (meistens) statische Ressourcen: HTML Seiten, GIF Dateien und CGI Aufrufe Hohes Verkehrsaufkommen, kurzlebige Anforderungen Skalierung durch mehrfache Web Server Engines Der Interactive Network Dispatcher (auch als Sprayer oder Load Balancer bezeichnet) verteilt die Anforderungen auf die einzelnen Web Engines cs 1448 ww6 wgs 03-00

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 3. Enterprise Java Beans

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 3. Enterprise Java Beans UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 3 Enterprise Java Beans el0100 copyright W. G. Spruth, wgs

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets -

Praktikum Datenbanken und verteilte Systeme SS Java Server Pages und Servlets - Praktikum Datenbanken und verteilte Systeme SS 2008 - Java Server Pages und Servlets - Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität Hamburg Infrastruktur vsispoolx

Mehr

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans

Servlet-zentrierte Architektur von Web-Anwendungen mit Java Servlets, Java Server Pages (JSPs) und Java Beans Projekt Entwicklung verteilter Softwaresysteme mit Web Services SoSe 2008 - Java Server Pages und Servlets - 7. April 2008 Verteilte Systeme und Informationssysteme (VSIS) Department Informatik Universität

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Transaction Processing Teil 1

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Transaction Processing Teil 1 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Transaction Processing Teil 1 EJB Transaktionseigenschaften el0100 copyright W. G.

Mehr

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel

Einführung Servlets. JEE Vorlesung Teil 2. Ralf Gitzel Einführung Servlets JEE Vorlesung Teil 2 Ralf Gitzel ralf_gitzel@hotmail.de 1 Übersicht Wiederholung Hello World Blick in die Details Servlet Programmierung Potentielle Fehler Lernziele Gruppenübung 2

Mehr

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES 2016 Software AG. All rights reserved. For internal use only DIGITAL BUSINESS APPLICATIONS DRIVE THE DIGITAL BUSINESS Partner Lieferanten Kunden SaaS

Mehr

Architekturen Internet-basierter Informationssysteme

Architekturen Internet-basierter Informationssysteme Architekturen Internet-basierter Informationssysteme Statische vs. dynamische Information im Web Realisierungsansätze Applikationsserver Java-Applets CGI-Programme Verteilte Anwendungen Folie 1 Statische

Mehr

J2EE mit Eclipse 3 und JBoss

J2EE mit Eclipse 3 und JBoss J2EE mit Eclipse 3 und JBoss Enterprise-Anwendungen mit der Open-Source-Plattform entwickeln Bearbeitet von Ramin Assisi 1. Auflage 2005. Buch. 493 S. Hardcover ISBN 978 3 446 22739 2 Format (B x L): 17,9

Mehr

Release Notes SAPERION Version 7.1 SP 6

Release Notes SAPERION Version 7.1 SP 6 Release Notes SAPERION Version 7.1 SP 6 Copyright 016 Lexmark. All rights reserved. Lexmark is a trademark of Lexmark International, Inc., registered in the U.S. and/or other countries. All other trademarks

Mehr

WildFly Application Server Administration

WildFly Application Server Administration WildFly Application Server Administration Seminarunterlage Version: 1.04 Version 1.04 vom 18. Januar 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

iid software tools QuickStartGuide iid USB base driver installation

iid software tools QuickStartGuide iid USB base driver installation iid software tools QuickStartGuide iid software tools USB base driver installation microsensys Nov 2016 Introduction / Einleitung This document describes in short form installation of the microsensys USB

Mehr

- dynamisches Laden -

- dynamisches Laden - - - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms

Mehr

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2016/2017 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 4. Oktober 2016 etriebssysteme / verteilte Systeme

Mehr

Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren

Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren Kap. 3 Evolution von TP-Monitoren zu Objekt-Monitoren Vergleich TP-Lite versus TP-Heavy Objektorientierung: Object Request Brokers (ORBs) OMs: Object Monitors Kap3-1 3.1 TP-Lite oder TP-Heavy? Aktive Diskussion

Mehr

Creating OpenSocial Gadgets. Bastian Hofmann

Creating OpenSocial Gadgets. Bastian Hofmann Creating OpenSocial Gadgets Bastian Hofmann Agenda Part 1: Theory What is a Gadget? What is OpenSocial? Privacy at VZ-Netzwerke OpenSocial Services OpenSocial without Gadgets - The Rest API Part 2: Practical

Mehr

Masterkurs Verteilte betriebliche Informationssysteme

Masterkurs Verteilte betriebliche Informationssysteme Peter Man dl Masterkurs Verteilte betriebliche Informationssysteme Prinzipien, Architekturen und Technologien Mit 196 Abbildungen STUDIUM VIEWEG+ TEUBNER 1 Einführung in verteilte Systeme 1 1.1 Definitionen

Mehr

Kap. 6 Applikationsserver

Kap. 6 Applikationsserver Kapitel 6: Applikationsserver 1 Kap. 6 Applikationsserver Kapitel 6: Applikationsserver 2 Kap. 6 Applikationsserver Übersicht Applikationsserver: Durchgängige Infrastruktur zur Entwicklung von Anwendungssystemen,

Mehr

Einführung in SOA

<Insert Picture Here> Einführung in SOA Einführung in SOA Markus Lohn Senior Principal Consultant SOA? - Ideen Selling Oracle To All SAP On ABAP Increasing Sales Of Applications 3 Agenda Motivation SOA-Definition SOA-Konzepte

Mehr

Java EE Java EE Multitiered Applications

Java EE Java EE Multitiered Applications Java EE Java EE Multitiered Applications http://java.sun.com/javaee/5/docs/tutorial/ 1 Kommunikation Applikation/ Web Applikationen http://java.sun.com/javaee/5/docs/tutorial/ Begriffsdefinitionen Java

Mehr

JMS Java Message Service

JMS Java Message Service JMS Java Message Service TK3 WS02/03 Dipl.-Ing. Erwin Aitenbichler Abt. Telekooperation TU Darmstadt 1 JMS: Java Message Service Messaging Lose gekoppelte verteilte Kommunikation RMI: Eng gekoppelt Sender

Mehr

Node.js Einführung Manuel Hart

Node.js Einführung Manuel Hart Node.js Einführung Manuel Hart Seite 1 Inhalt 1. Node.js - Grundlagen 2. Serverseitiges JavaScript 3. Express.js 4. Websockets 5. Kleines Projekt Seite 2 1. Node.js Grundlagen Node.js is a JavaScript runtime

Mehr

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering .NET Networking 1 Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros Institut für Informatik Software & Systems Engineering Agenda Motivation Protokolle Sockets Anwendung in.net

Mehr

From Vision to Reality -

From Vision to Reality - From Vision to Reality - Methoden und Arbeitsweisen des Sun Vision Councils Tom Groth Chief Visioneer Sun Microsystems,,Der pragmatische Ansatz die Zukunft zuerkennen, ist diese zu gestalten. DiesenAnspruch

Mehr

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger. Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16

Mehr

Softwarearchitektur mit dem Quasar- Architekturstil

Softwarearchitektur mit dem Quasar- Architekturstil Softwarearchitektur mit dem Quasar- Architekturstil Prof. Dr. U. Aßmann Technische Universität Dresden Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie http://www-st.inf.tu-dresden.de

Mehr

Platform as a Service (PaaS) & Containerization

Platform as a Service (PaaS) & Containerization Platform as a Service (PaaS) & Containerization Open Source Roundtable Bundesverwaltung; Bern, 23. Juni 2016 André Kunz Chief Communications Officer Peter Mumenthaler Head of System Engineering 1. Puzzle

Mehr

Apache JMeter

Apache JMeter Apache JMeter http://java.apache.org/jmeter Ausarbeitung von: Oliver Zink Matrikel-Nr.: 927483 Apache JMeter 1 Inhalt Allgemeines Installation» Systemvoraussetzungen» Kompilieren des Source-Code Inbetriebnahme»

Mehr

Geschachtelte Klassen

Geschachtelte Klassen Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 44

Komponentenorientierte Software-Entwicklung. Seite 1 / 44 Seite 1 / 44 Wiederholung EJB-Module/-Projekte SessionBeans Stateless Beans Stateful Beans EntityBeans JPA-Grundlagen (EntityManager, Query-Abfragen) Vorschlag Projektaufbau / Package-Strukturierung Seite

Mehr

Java Message Service im J2EE-Kontext

Java Message Service im J2EE-Kontext Java Message Service im J2EE-Kontext Im Folgenden soll kurz das Konzept der nachrichtenorientierten Kommunikation mit Hilfe von Messaging Services vorgestellt, und im Anschluss deren Einsatzmöglichkeiten

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

Einführung in Google Web Toolkit

Einführung in Google Web Toolkit Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus

Mehr

Praktikum aus Softwareentwicklung 2, Stunde 11

Praktikum aus Softwareentwicklung 2, Stunde 11 Praktikum aus Softwareentwicklung 2, Stunde 11 Lehrziele/Inhalt 1. Java Servlet Java Servlet Java Servlets sind auf Java basierende Web-Komponenten. Sie werden von einem Container verwaltet und können

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Beispiel: Web-Shop??? Applikation Software Hardware Client Web-Shop,... Web-Browser mit Applet,...

Mehr

Oracle Forms und APEX

Oracle Forms und APEX Oracle Forms und APEX Gerd Volberg + Jan Winkels OPITZ CONSULTING Deutschland GmbH Gummersbach Schlüsselworte Oracle Forms, Oracle Application Express, APEX, PL/SQL, JavaScript-API Einleitung APEX wird

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Inhaltsverzeichnis. 1. Vortrag. 1. Vortrag Beispiele Quellen Seite 1 / 14

Inhaltsverzeichnis. 1. Vortrag. 1. Vortrag Beispiele Quellen Seite 1 / 14 Inhaltsverzeichnis 1. Vortrag...1 2. Beispiele...10 3. Quellen...14 1. Vortrag Seite 1 / 14 Servlets Roadmap Was sind Servlets? Wozu braucht man Servlets? Wie erstellt man Servlets? Wie benutzt man Servlets?

Mehr

Web-Services mit Go. Sebastian tokkee Harl OpenRheinRuhr 07. November 2015 Oberhausen

Web-Services mit Go. Sebastian tokkee Harl OpenRheinRuhr 07. November 2015 Oberhausen Web-Services mit Go Sebastian tokkee Harl OpenRheinRuhr 07. November 2015 Oberhausen Überblick Was ist Go? Go is an open source programming language that makes it easy to build simple,

Mehr

PL/SQL-Web-Services (Teil I)

PL/SQL-Web-Services (Teil I) Best Practise Integrationstools PL/SQL-Web-Services (Teil I) Autor: Markus Fiegler, ORDIX AG, Paderborn Web-Services spielen in der heutigen Software- Architektur eine immer wichtigere Rolle. Ihr großer

Mehr

SAP-Daten per HTML anzeigen

SAP-Daten per HTML anzeigen SAP-Daten per HTML anzeigen Oftmals besteht die Notwendigkeit einfach nur bestimmte Daten eines SAP-Systems anzuzeigen. Die Installation des SAPGUI für Windows, mit mehreren hundert Megabytes, scheint

Mehr

Extensible Visualization

Extensible Visualization Extensible Visualization Oliver Linder Client Technical Professional 2013 IBM Corporation Agenda Vergleich von Visualierungsansätzen IBM Rapidly Adaptive Visualization Engine Ablauf Quelle (Analyticszone.com)

Mehr

i-net HelpDesk Erste Schritte

i-net HelpDesk Erste Schritte 1 Erste Schritte... 2 1.1 Wie geht es nach dem i-net HelpDesk Setup weiter?... 2 1.2 Desktop- oder Web-Client?... 2 1.3 Starten des Programms... 2 1.4 Anmelden (Einloggen) ist zwingend notwendig... 3 1.5

Mehr

FlexFrame for Oracle. Torsten Schlautmann OPITZ CONSULTING Gummersbach GmbH

FlexFrame for Oracle. Torsten Schlautmann OPITZ CONSULTING Gummersbach GmbH Torsten Schlautmann torsten.schlautmann@opitz-consulting.de OPITZ CONSULTING Gummersbach GmbH +49 2261 6001-1175 Agenda Funktionsweise Einsatzszenarien Rahmenbedingungen Zusammenfassung Fragen und Antworten

Mehr

Systemvoraussetzungen

Systemvoraussetzungen [Stand: 12.12.2016 Version: 59] Hier erhalten Sie eine Übersicht zu den für alle Software-Produkte Produkte von ELO Digital Office GmbH. Inhalt 1 ELOprofessional Server 10... 5 1.1 Windows... 5 1.1.1 Betriebssystem...

Mehr

Programmieren mit Edipse 3

Programmieren mit Edipse 3 Michael Seeboerger-Weichselbaum Programmieren mit Edipse 3 Universelle Entwicklungsplattform für Java, PHP, C/C++, SQL, XML, XSLT, XSL-FO, JSP, Servlets, J2EE, UML, HTML, CSS, JavaScript I n halts verzeich

Mehr

Überblick über die Roblet -Technik

Überblick über die Roblet -Technik Überblick über die Roblet -Technik Hagen Stanek gefördert durch Agenda Teil 1: Motivation, Einführung Teil 2: Beispiel-Vorführung Teil 3: Anwendungen, Zusammenfassung 2 Teil 1 Motivation, Einführung 3

Mehr

Fehlercodes an der Maschine

Fehlercodes an der Maschine Fehlercodes an der Maschine Stand 19. Juli 2004 Copyright SIEMENS AG 2004, All Rights Reserved 1 Inhaltsverzeichnis 1 Fehlercodes an der Maschine 3 1.1 149000 = Job Execution failed 3 1.2 149001 = No Boot-Script

Mehr

Ein Java Repository für digitalen Content in Bibliotheken

Ein Java Repository für digitalen Content in Bibliotheken Ein Java Repository für digitalen Content in Bibliotheken 9. Sun Summit Bibliotheken 13.-14. November 2007, Deutsche Nationalbibliothek Christof Mainberger, BSZ Digitale Bibliotheken verwalten digitalen

Mehr

UNIGATE CL Konfiguration mit WINGATE

UNIGATE CL Konfiguration mit WINGATE UNIGATE CL Konfiguration mit WINGATE - UNIGATE CL Configuration via WINGATE Art.-Nr.: V3928 Deutschmann Automation GmbH & Co. KG Carl-Zeiss-Str. 8 D-65520 Bad Camberg Phone: +49-(0)6434-9433-0 Hotline:

Mehr

ADF Mobile konkret Best Practices Live erklärt. Jan Ernst

ADF Mobile konkret Best Practices Live erklärt. Jan Ernst ADF Mobile konkret Best Practices Live erklärt Jan Ernst Zur Person: Jan Ernst Bachelorstudium Wirtschaftswissenschaften mit Schwerpunkt Wirtschaftsinformatik (4. Semsester) FAU Erlangen/Nürnberg Werkstudent

Mehr

Oracle Enterprise Manager 12c R4 ( )

Oracle Enterprise Manager 12c R4 ( ) 1 Oracle Enterprise Manager 12c R4 (12.1.0.4) Oliver Zandner (oliver.zandner@oracle.com) System-Berater für Oracle DB-Technologie Oracle Hannover Was erwartet Sie? Neuerungen in Database Plug-in 12.1.0.7

Mehr

Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016

Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016 Internettechnologien Vorlesung für Master-Studierende Geoinformatik/-management Sommersemester 2016 Prof. Dr.-Ing. habil. Peter Sobe HTW Dresden Fakultät Informatik / Mathematik Zur Person: Prof. Dr.-Ing.

Mehr

Andreas Kosch. Software & Support $ > Verlag GmbH

Andreas Kosch. Software & Support $ > Verlag GmbH Andreas Kosch Software & Support Verlag GmbH $ > Inhaltsverzeichnis I COM-GRUNDLAGEN 11 1 COM - COMPONENT OBJECT MODEL 13 1.1 WARUM? 13 1.2 DER COM-STECKBRIEF 16 2 CLIENT UND SERVER 18 2.1 BEGRIFFSBESTIMMUNG

Mehr

Das ISO / OSI -7 Schichten Modell

Das ISO / OSI -7 Schichten Modell Begriffe ISO = Das ISO / OSI -7 Schichten Modell International Standardisation Organisation Dachorganisation der Normungsverbände OSI Model = Open Systems Interconnection Model Modell für die Architektur

Mehr

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 5 Formulare

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 5 Formulare VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 5 Formulare SS 2004 Inhaltsverzeichnis 1. Formulare - Datenaustausch mit dem Anwender...1 1.1. Formulare - Die Syntax...1 1.1.1.

Mehr

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären.

1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. CORBA Lernziele 1. Sie können die zentrale Idee und Bedeutung einer Schnittstelle, wie sie schon im RPC verwendet wird, erklären. Zentrale Idee: Schnittstelle: - mit einer Schnittstelle beschreibt man

Mehr

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0

Tutorial 7 TEIL 1/2. Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Tutorial 7 TEIL 1/2 Untersuchung von ebusiness Anwendungen auf der Basis des IBM WebSphere Developer V 7.0 Copyright Institut für Informatik, Universität Leipzig Hinweise: Die Arbeiten werden unter Windows

Mehr

APEX DESKTOP APPS. Interaktion mit dem Client System

APEX DESKTOP APPS. Interaktion mit dem Client System APEX DESKTOP APPS Interaktion mit dem Client System About me Oracle > 8 Jahre APEX > 8 Jahre Freelancer seit 2016 Vorher APEX Entwickler im Versicherungsumfeld aktiver Open Source Entwickler auf Github

Mehr

C-Grundlagen. Einführung von Tronje Krabbe 1/21

C-Grundlagen. Einführung von Tronje Krabbe 1/21 C-Grundlagen Einführung von Tronje Krabbe 1/21 Gliederung Hintergrund Geschichte Nutzungsgebiete C-Derivate Syntax Compiler Beispielcode 2/21 Was ist C? C ist eine imperative, kompilierte Programmiersprache

Mehr

Absicherung der IT-Infrastruktur: einheitliche Zugangskontrolle für LAN, WLAN und VPN. Volker Kull

Absicherung der IT-Infrastruktur: einheitliche Zugangskontrolle für LAN, WLAN und VPN. Volker Kull Absicherung der IT-Infrastruktur: einheitliche Zugangskontrolle für LAN, WLAN und VPN Volker Kull v.kull@bell.de BENUTZER IT-INFRASTRUKTUR Mobilität Verfügbarkeit / Zuverlässigkeit Einfache Nutzung Performance

Mehr

ebusiness-plattformen am Beispiel von J2EE

ebusiness-plattformen am Beispiel von J2EE Kapitel 9 ebusiness-plattformen am Beispiel von J2EE Inhalt Einführung J2EE Überblick Architekturmodelle Enterprise Java Beans (EJBs) Web-Komponenten Zusammenfassung Middleware für Verteilte IS 9-1 Einführung

Mehr

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Standards, Technologien und Architekturen moderner Web-Anwendungen

Standards, Technologien und Architekturen moderner Web-Anwendungen Standards, Technologien und Architekturen moderner Web-Anwendungen Kompakt-Intensiv-Training In unserer zweitägigen Schulung "Standards, Technologien und Architekturen moderner Web-Anwendungen" erlangen

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung Einleitung 1 Rapid Web Development 1.1 Alle reden von Web 2.0 1.2 Was ist ein Web-Development-Framework? 1.3 Die zentralen Komponenten von TurboGears Python Kid-Templating CherryPy SQLObject Weitere Komponenten

Mehr

Virtuelle Realität und Simulation - Übung 2

Virtuelle Realität und Simulation - Übung 2 Virtuelle Realität und Simulation - Übung 2 Java-Script Prof. Dr. Gabriel Zachmann (zach@in.tu-clausthal.de) David Mainzer (dm@tu-clausthal.de) Institut für Informatik 20. November 2008 Institut für Informatik

Mehr

General info on using shopping carts with Ogone

General info on using shopping carts with Ogone Inhaltsverzeichnisses 1. Disclaimer 2. What is a PSPID? 3. What is an API user? How is it different from other users? 4. What is an operation code? And should I choose "Authorisation" or "Sale"? 5. What

Mehr

Programmieren I. Die Programmiersprache Java. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java.  Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Programmiersprachen, Übersicht 2 Quelle: heise.de W. Geiger, W. Süß, T. Schlachter, C.

Mehr

eps Network Services HMI-Alarme

eps Network Services HMI-Alarme 09/2005 HMI-Alarme eps Network Services HMI-Alarme Diagnoseanleitung Gültig für: Software Softwarestand eps Network Services 4.1 eps Network Services, Diagnoseanleitung (DA) - Ausgabe 09/2005 1 HMI-Alarme

Mehr

Oracle ACFS / CloudFS zuverlässig nutzbar?

Oracle ACFS / CloudFS zuverlässig nutzbar? Beratung Software Lösungen Oracle ACFS / CloudFS zuverlässig nutzbar? Claudia Gabriel Ralf Appelbaum Zahlen und Fakten Unternehmensgruppe Materna: 1.500 Mitarbeiter 160 Mio. Euro Umsatz in 2014 Geschäftsführung:

Mehr

Java, XML und Oracle10g What's new?

Java, XML und Oracle10g What's new? Java, XML und Oracle10g What's new? Carsten Czarski Business Unit Database Oracle Deutschland GmbH Agenda JDBC Web Rowset Oracle Connection Cache Fast Connection Failover Server Side JVM Database Web Services

Mehr

1.2 QoS-Verbesserungen

1.2 QoS-Verbesserungen Read Me System Software 7.9.1 PATCH 4 Deutsch Diese Version unserer Systemsoftware ist für Geräte der Rxxx2-Serie verfügbar. Folgende Änderungen sind vorgenommen worden: 1.1 Ethernet - Zusätzliche MC-Adressen

Mehr

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung Clientseitige Web-Programmierung mit JavaScript Version 1.1 3.5.2010 1 aktuelles 2 clientseitige Web-Programmierung verschiedene Ansätze JavaScript Java Applet Adobe Flash Microsoft Silverlight RIA: rich

Mehr

Eclipse Tomcat Plugin Starthilfe

Eclipse Tomcat Plugin Starthilfe In dieser Starthilfe Installation des Tomcat Plugins Anpassen der Installation Das Tomcat HelloWorld (Servlet) Projekt Hot Code Replacement Eclipse Tomcat Plugin Starthilfe 1.1. Installation Folgende Software

Mehr

Java Metadata Interface. Thorsten Pivl

Java Metadata Interface. Thorsten Pivl Java Metadata Interface Thorsten Pivl Einleitung Was sind Metadaten? Das Wort Meta stammt aus dem griechischen und bedeutet über Meta-Daten: Daten über Daten Beschreibung von Daten 2 Einleitung Warum Metadaten?

Mehr

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst

APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst APEX Datenverwaltung Wo sind die Daten gerade? Dr. Gudrun Pabst Basel Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Wien Voraussetzungen Alles hier gezeigte benötigt

Mehr

Veeam und Microsoft. Marco Horstmann System Engineer, Veeam

Veeam und Microsoft. Marco Horstmann System Engineer, Veeam Veeam und Microsoft Marco Horstmann System Engineer, Veeam Software marco.horstmann@veeam.com @marcohorstmann Windows Server 2016 Support Die vollständige und fortschrittliche Unterstützung von Veeam erschliesst

Mehr

Disclaimer. Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Disclaimer. Copyright 2014, Oracle and/or its affiliates. All rights reserved. Disclaimer "THE FOLLOWING IS INTENDED TO OUTLINE OUR GENERAL PRODUCT DIRECTION. IT IS INTENDED FOR INFORMATION PURPOSES ONLY, AND MAY NOT BE INCORPORATED INTO ANY CONTRACT. IT IS NOT A COMMITMENT TO DELIVER

Mehr

Demo Kino: Der Herr der Wolken Die Gefährten

Demo Kino: Der Herr der Wolken Die Gefährten Demo Kino: Der Herr der Wolken Die Gefährten Gemeinsame orchestriert: Database und Java Cloud Service Marcus Schröder Manuel Hoßfeld Oracle Deutschland B.V. & Co KG Copyright 2016, Oracle and/or its affiliates.

Mehr

Web Apps. Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter /

Web Apps. Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter / Web Apps Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter / 07.06.2013 Vielleicht kennen Sie das auch? Sie haben in Ihrem Unternehmen eine Web- oder

Mehr

Mindbreeze Web Parts. für Microsoft SharePoint. Version 2016 Fall Release

Mindbreeze Web Parts. für Microsoft SharePoint. Version 2016 Fall Release Mindbreeze Web Parts für Microsoft SharePoint Version 2016 Fall Release Status: 04. Mai 2016 Copyright Mindbreeze GmbH, A-4020 Linz, 2017. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

THEMA: SAS DATA INTEGRATION STUDIO FÜR MEHR TRANSPARENZ IM DATENMANAGEMENT EVA-MARIA KEGELMANN

THEMA: SAS DATA INTEGRATION STUDIO FÜR MEHR TRANSPARENZ IM DATENMANAGEMENT EVA-MARIA KEGELMANN WEBINAR@LUNCHTIME THEMA: SAS DATA INTEGRATION STUDIO FÜR MEHR TRANSPARENZ IM DATENMANAGEMENT EVA-MARIA KEGELMANN HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne K. Bogner-Hamleh SAS Institute

Mehr

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1

Brandbook. How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes. Version 1.0.1 Brandbook How to use our logo, our icon and the QR-Codes Wie verwendet Sie unser Logo, Icon und die QR-Codes Version 1.0.1 Content / Inhalt Logo 4 Icon 5 QR code 8 png vs. svg 10 Smokesignal 11 2 / 12

Mehr

Softwareupdate-Anleitung // Porty L 600 / Porty L 1200

Softwareupdate-Anleitung // Porty L 600 / Porty L 1200 Softwareupdate-Anleitung // Porty L 600 / Porty L 1200 1 Softwareupdate-Anleitung // Porty L 600 / Porty L 1200 HENSEL-VISIT GmbH & Co. KG Robert-Bunsen-Str. 3 D-97076 Würzburg-Lengfeld GERMANY Tel./Phone:

Mehr

Programmierkurs. Manfred Jackel

Programmierkurs. Manfred Jackel Java für Anfänger Teil 1: Intro Programmierkurs 12.-16.10.2009 10 2009 Manfred Jackel 1 1. Handwerkszeug Notwendige Software Java Runtime Environment JRE 6 von http://java.sun.com/javase/downloads/index.js

Mehr

SE2 - also ich möchte das nicht.

SE2 - also ich möchte das nicht. SE2 - also ich möchte das nicht. Martin Friemel mfriemel@webag.com DOAG 2016 Konferenz 15. November 2016, 12:00 Uhr NCC Nürnberg Convention Center 1 Bisherige Konfiguration Datenbank: Oracle Standard Edition

Mehr

WCF RIA Services Datengetriebene Apps. Thomas Claudius Huber Senior Consultant Trivadis AG

WCF RIA Services Datengetriebene Apps. Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps Thomas Claudius Huber Senior Consultant Trivadis AG Thomas Claudius Huber.NET Senior Consultant @Trivadis Basel Spezialisiert auf Silverlight und WPF Autor der umfassenden

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Projektierung und Betrieb von Rechnernetzen

Projektierung und Betrieb von Rechnernetzen Projektierung und Betrieb von Rechnernetzen Versuch : Router-Konfiguration Vorbetrachtungen Im Rahmen des Praktikums sind einige Begriffe bzw. Fragen zum Thema Router zu klären: Was ist ein Router? Router

Mehr

bizhub Evolution SECURITY CUBE bizhub Evolution Installationsanleitung Version: 1.0

bizhub Evolution SECURITY CUBE bizhub Evolution Installationsanleitung Version: 1.0 bizhub Evolution SECURITY CUBE Installationsanleitung Version: 1.0 bizhub Evolution Spezifikationen 2 Inhaltsverzeichnis Spezifikationen... 3 Vorbereitung... 3 Import... 4 Registrierung... 9 Konfiguration...

Mehr

e-bag Kurzanleitung e-bag Grundfunktionen

e-bag Kurzanleitung e-bag Grundfunktionen BAG-Melk Kurzanleitung Grundfunktionen Autor J. Brandstetter Vertraulich, nur für internen Gebrauch Version 1.1 File: Datum: C:\e-BAG\manual\gundfunktionen\ebag_quick_start.doc 2003-09-17 Grundfunktionen

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 1. XML und DB2

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 1. XML und DB2 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Service Oriented Architecture Teil 1 XML und DB2 el0100 copyright W. G. Spruth, wgs 04-09

Mehr

2 Anlegen und Konfigurieren von Datenbanken 35

2 Anlegen und Konfigurieren von Datenbanken 35 Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation RMI Beispiel UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation RMI Beispiel el0100 copyright Abt. Technische Informatik,

Mehr

HTML. HyperText Markup Language. von Nico Merzbach

HTML. HyperText Markup Language. von Nico Merzbach HTML HyperText Markup Language von Nico Merzbach Kapitel 1 Was ist HTML? Was ist HTML? Einführung: HTML ist eine (Hypertext-)Auszeichnungssprache. Mit Hilfe von HTML strukturiert man Inhalte wie Text,

Mehr