WebObjects. Dirk Schober Senior Software Trainer AppleServices EMEA. Was ist eigentlich ein Application Server?



Ähnliche Dokumente
Planung für Organisation und Technik

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Aktivierungsanleitung

Zugriff auf Daten der Wago über eine Webseite

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

ESB - Elektronischer Service Bericht

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Fachhochschule Deggendorf Platzziffer:...

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Applets I. Grundlagen der g Applet-Programmierung

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

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

white sheep GmbH Unternehmensberatung Schnittstellen Framework

Lokale Installation von DotNetNuke 4 ohne IIS

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

4D Server v12 64-bit Version BETA VERSION

desk.modul : WaWi- Export

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Dokumentation für das Spiel Pong

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Herzlich willkommen bei der Installation des IPfonie -Softclients!

Eine Anwendung mit InstantRails 1.7

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

ObjectBridge Java Edition

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Workshop Java Webentwicklung Tapestry. Ulrich Stärk

ARAkoll 2013 Dokumentation. Datum:

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Computeria Solothurn

Snippets - das Erstellen von "Code- Fragmenten" - 1

R002: CAP-Oberfläche statt VARIANTS im inforcom R7.1

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Struts 2 Das Imperium schlägt zurück?

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

OP-LOG

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Oracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Step by Step Webserver unter Windows Server von Christian Bartl

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Referenzen Typo3. Blog der Internetagentur Irma Berscheid-Kimeridze Stand: Juni 2015

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

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

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

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

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

LISP. Eine Einführung

Windows Small Business Server (SBS) 2008

Java Enterprise Architekturen Willkommen in der Realität

... über OGVIT GmbH & Co. KG

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

Xcode/Cocoa/Objective-C Crashkurs Programmieren unter Mac OS X

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube Konstanz

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Windows 8 Lizenzierung in Szenarien

Sicherheit in Webanwendungen CrossSite, Session und SQL

SECURE DOWNLOAD MANAGER

Einführung in PHP. (mit Aufgaben)

Rechnung wählen Lernstandserfassung

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Java: Vererbung. Teil 3: super()

Es wird das Struts <html:option> Element erläutert und anhand von kleinen Beispielen der Umgang veranschaulicht.

SQL Server 2008 Standard und Workgroup Edition

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Online Banking System

Fernzugang Uniklinikum über VMware View

Professionelle Seminare im Bereich MS-Office

Umstieg auf Microsoft Exchange in der Fakultät 02

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.

EMU Bill & Report 1/33

SEMINAR Modifikation für die Nutzung des Community Builders

Secure Download Manager Übersichtsleitfaden Vertraulich Version 2.2

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Application Frameworks

Informatik 1 Tutorial

Einführung in Eclipse und Java

Internetanbindung von Datenbanken

Universität Stuttgart Abteilung Anwendersoftware Steht für Embedded SQL in Java. - Java-Methoden als SQL Stored-Procedures

DB2 Kurzeinführung (Windows)

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

CRM Client. Installation / Anmeldung. .BOSYS SOFTWARE GmbH

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Prozessarchitektur einer Oracle-Instanz

Internet Explorer Version 6

Sybase Central Dokumentation Aktivierung der Monitoringfunktion

Transkript:

Objects Dirk Schober Senior Software Trainer leservices EMEA Fragen über Fragen Was ist eigentlich ein lication? Welche lication gibt es sonst noch? Was kostet sowas? Wer setzt denn eine solche Technologie ein? 1

Was ist Objects? DER original lication 100% pure Java +Tools +Persistence DB-Framework +Rapid Protoyping + sauberes OO-Design Im Großen Java Clients Browser Dienste Datenquellen Verteilte Objekte 2

Die Entwicklung 100% pure Java Verwendung von Objects Frameworks: Bestehende Bibliotheken mit Logik und Ressourcen J2SE bis J2EE Andere Java-Techniken: QuickTime, OpenGL,... Die Ausgabe HTML JavaClient (eigenständig oder als let) XML WAP/WML PDF oder Selbst entwickeln: Schnittstelle liegt offen 3

Datenquellen JDBC als Standard Selbst entwickeln: Schnittstelle liegt offen - Jeder der CGIs beherrscht Ergo: alle Apache NSAPI IIS Selbst anbinden: Schnittstelle liegt offen 4

Entwicklung + Betrieb Entwicklung Windows 2000 Mac OS X Betrieb Windows 2000, Mac OS X, Solaris 8 Weitere mit JDK 1.3 (nicht zertifiziert) Mischen nach Belieben Überblick Betrieb 5

Überblick Betrieb Browsers Mehrere HTTP Mehrere Anwendungsserver Mehrere Teile einer Anwendung HTML-Templates (Objects Builder) Datenbank-Modell (EOModeler) Geschäftslogik Controller-Logik Adaptoren (, ) Ressourcen (Grafiken, CSS, lets, Filme,... )... alles in der Entwicklung getrennt und zur Laufzeit zusammengefügt 6

Teile einer Anwendung Object Model lication Browser Java Mainframes Databases ERP Systems Directories XML Streams Templates Java and HTML Das Besondere an Frameworks Im Prinzip shared libraries +Logik +Ressourcen +volle Funktionalität von Anfang an +Verfeinerung bei Bedarf bis hin zur völligen Kontrolle auf unterster Ebene Top-Down Programmierung =>extrem wenig Code 7

Vorhandene Frameworks Objects-Framework Ablaufsteuerung Sitzungsverwaltung dynamische Erzeugung Enterprise Objects Framework (EOF) Anbindung an Sicherstellung der Persistenz von DB-Objekten Direct2 WAP, PDF, XML,... Datenbankanbindung Beschreibung über ein ER ähnliches Modell mittels EOModeler Datenbankunabhänige Datenmodellierung Mehrere Modelle für verschiedene gleichzeitig nutzbar Relationen über hinweg modellierbar Transparente Abbildung: Tabelle < > Entität < > Objekt 8

Vorteile Kein SQL nötig! DB-Objekt sind gewöhnliche Objekte Datenbankobjekte = Business-Objekte Persistenz überwacht durch Objects Datenbank- und GUI- unabhängig Sitzungsverwaltung Sitzungsobjekte zur Zustandsspeicherung einzelner Benutzer Anwendungsobjekt zur globalen Zustandsspeicherung mehrerer Sitzungen Zustand archivierbar 9

J2EE lication Objects Java lication FPO Objects Datenfluß 10

Internet 3 Dinge erledigte Objects automatisch 1. Werte auslesen + Wandeln 3. Antwortseite erzeugen 2. Verarbeitungsmethode aufrufen Aktion auslösen Internet Benutzer stellt Anfrage an den 11

Internet Der -Adaptor reicht die Anfrage and eine passende Anwendungsinstanz weiter. Erste oder unspezifische Anfrage? Eine Anwendung wird nach der gewählten Lastverteilungsstrategie ausgewählt. Nachfolgende Anfragen eines Benutzers? Die ursprüngliche Instanz wird kontaktiert. Internet Sitzungsobjekt erkennt die gewünschte Seite = eine WOComponent Login.wo <HTML> What s your user name? <WO NAME=FORM> <WO NAME=INPUT> <WO NAME=SUBMIT> INPUT: WOTextField { value = username; } SUBMIT: WOSubmitButton { action = handlelogin; } 12

Internet Die aufgerufene Komponente liest alle übergebenen Werte aus und weist sie den Variablen zu. Login.wo <HTML> What s your user name? <WO NAME=FORM> <WO NAME=INPUT> <WO NAME=SUBMIT> INPUT: WOTextField { value = username; } SUBMIT: WOSubmitButton { action = handlelogin; } Internet Nun wird entschieden welche Aktion ausgelöst werden soll. Das Ergebnis dieser Aktion ist eine neue Seite. // Login.java public Login.wo class Login extends WOComponent { public String username; public <HTML> WOComponent handlelogin() { What s session().fetchcustomer(username); your user name? <WO return NAME=FORM> pagewithname( Welcome ); } <WO NAME=INPUT> } <WO NAME=SUBMIT> INPUT: WOString { value = username; } SUBMIT: WOSubmitButton { action = handlelogin; } 13

Internet Die Aktion wird ausgeführt, und das Objects- Framework aktiviert die Componente welche die Antwort erzeugt. Welcome.wo <HTML> Welcome back, <WEBOBJECT NAME=UserName> UserName: WOString { value = session.customer.firstname; } Internet WEBOBJECTS - Tags werden identifziert für die Ersetzung vorbereitet. In diesem Fall soll eine Zeichenkette ausgegeben werden: der Name des Kunden, gespeichert im Kundenobjekt, welches wiederum über das Sitzungsobjekt referenziert wird. Welcome.wo <HTML> Welcome back, <WEBOBJECT NAME=UserName> UserName: WOString { value = session.customer.firstname; } 14

Internet Alle Objekte welche aus der Datenbank benötigt werden, werden geladen. SQL wird dazu automatisch im Hintergrund erzeugt. Welcome.wo <HTML> Welcome back, <WEBOBJECT NAME=UserName> EOModel Select FIRST,LAST, ID from CUST where ID= shayman Database ORACLE UserName: WOString Customer { value = CUST session.customer.firstname; Product PROD } Internet Das Ergebnis der Datenbank (eine Zeile der Tabelle) wird in eine Enterprise-Objekt (EO) umgewandelt Welcome.wo <HTML> Welcome back, <WEBOBJECT NAME=UserName> EOModel Steve, Hayman, shayman Database ORACLE UserName: Customer WOString CUST { value = session.customer.firstname; Product PROD } 15

Internet Nun wird das Kundenobjekt nach dem Namen-Attribut befragt Welcome.wo <HTML> Welcome back, <WEBOBJECT NAME=UserName> Steve UserName: WOString { value = session.customer.firstname; } Internet Das Ergebnis dieser Anfrage wird nun in die Antwortseite durch Ersetzung des WEBOBJECT-Tags eingebaut. Welcome.wo <HTML> Welcome back, Steve Customer Steve UserName: WOString { value = session.customer.firstname; } 16

Internet Response Reines HTML wird zurück zum Browser des Benutzers übertragen Welcome.wo <HTML> Welcome back, Steve UserName: WOString { value = session.customer.firstname; } Internet Das ist der /Response Loop public void takevaluesfrom public WOElement invokeaction public void appendtoresponse ( WO a, WOContext acontext ) ( WO a, WOContext acontext ) ( WOResponse aresponse, WOContext acontext ) Das Anwendungsobjekt, das Sitzungsobjekt und alle beteiligten Komponentenobjekte können an diesem Prozess teilnehmen und somit die Ausgabe beliebig beeinflussen. 17

Das ist wichtig: Keine Vermischung von Java und HTML! Keine Vermischung von SQL und HTML! SQL wird überhaupt nicht programmiert Ebenso muß man kein HTML programmieren Datenbankzugriff, Benutzerschnittstelle und Geschätfslogik sind voneinander getrennt. (Entwurfsmuster: Model-View-Controller) Wiederverwertbarkeit der Geschäftslogik ist extrem hoch Q & A leservices Iservices_euro@apple.com 18

Think different. 2001 and TM le Computer, Inc. All rights reserved. 19