Cloud Computing für Entwickler leicht gemacht: APEX als Entwicklerplattform "As A Service"

Ähnliche Dokumente
apex.meinefirma.de: APEX-Hosting im eigenen Unternehmen

Application Express (APEX) Carsten Czarski Business Unit Database. ORACLE Deutschland B.V. & Co KG

apex.meinefirma.de Carsten Czarski ORACLE Deutschland B.V. & Co KG APEX Hosting im eigenen Unternehmen Carsten.Czarski@oracle.com

<Insert Picture Here> Versteckte Juwelen. Nützliche APEX-Features - auch aus älteren Releases. Carsten Czarski ORACLE Deutschland B.V.

Datenbank-Services für Entwickler aus der Oracle Cloud: Database Service, Schema Service & mehr

APEX und Drucken Die Schöne und das Biest! Seite 1 von 61

<HTML DB> Web Application Development

Aufsetzten einer Oracle DBaaS Umgebung (private Cloud) mit dem Enterprise Manager. Bodo von Neuhaus Oracle Deutschland B.V.

Unter Cloud Computing versteht man die Bereitstellung von Computerdiensten sowie

Cloud Computing mit der Windows Azure Platform

Vorfahrtsregeln in APEX-Umgebungen: Ressourcen-Konflikte mit dem Ressourcen-Manager lösen

Erfolgreiche Einführung einer Intranet-Cloud

Apex 5.0: Anwendungsentwicklung völlig neu definiert

Oracle Fusion Middleware Überwachung mit Oracle BAM

Die Suche nach dem Turbo- Knopf bei der Cloud- Bereitstellung Udo Lamprecht, Materna

Cloud Computing Architektur für MWaaS & Java in Private Cloud und Oracle Cloud

SAP HANA Multitenant Database Container

Office so wie Sie es wollen

Ein APEX für alle und alle für APEX! Niels de Bruijn, Fachbereichsleiter APEX , DOAG DB Konferenz

Oracle Database 12c Private Cloud

Cloud Computing Teil 2

Das Leben der Anderen

Eine Schritt-für-Schritt- Anleitung, um COBOL- Anwendungen in die Cloud zu bringen

Moderne Anwendungen und relationale Datenbanken? Natürlich!

An der Cloud führt kein Weg vorbei. Darauf sollten Sie sich vorbereiten! Dieter Rehfeld Bremen

In 30 Minuten zur BI-Lösung in der Cloud Aufbau einer BI-Infrastruktur & Entwicklung von Reports Live. Referent: Patrick Eisner & Ronja Schermer

Oracle Public Cloud benutzen

Inhaltsverzeichnis. Vorwort 13

Software Engineering effizient und flexibel siemens.de/sicbs

EASY Cloud Platform Developer Edition

Besuchen Sie uns: siemens.de/sicbs

Public Cloud im eigenen Rechenzentrum

GNU Assembler & GCC. Eine virtuelle Maschine aufsetzen. Zunächst muss eine neue virtuelle Maschine erstellt werden.

Application Designer & Framework unlimited

Node.js der Alleskönner. Kai Donato MT AG Ratingen

Was bedeutet Oracle Cloud für Oracle Technologieexperten? DOAG 2015 Andreas Chatziantoniou - Foxglove-IT BV

Betrieb einer Forms-Anwendung in der Azure Cloud. Forms Day München

Cloud Computing. Strategien auf dem Weg in die Cloud. Björn Bröhl

Oracle Developer Monthly Datenbank-Update für Anwendungsentwickler

Cloud Computing Chancen und Risiken für KMUs.

M5000 einfach ablösen durch T4/T5 LDoms und Solaris Zonen

Nutzung externer Daten in Application Express

<Insert Picture Here> APEX? Aber sicher! Tipps und Tricks für eine sichere APEX-Umgebung. Carsten Czarski, ORACLE Deutschland B.V. Co.

HANA CLOUD CONNECTOR

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN

Profitieren Sie von einer offenen und flexiblen Clouddienstplattform

Versuch 9 Agilent T&M Toolkit - Einführung

Teil I. Allgemeine System-Administration. Windows Server 2016 Neues, Lizenzierung und Download... 23

Steffen Bischoff Senior Sales Engineer

REST Services in APEX Anwendungen nutzen

Verwalten von Backup, Wiederherstellung und Migration von s in Exchange-Umgebungen

Cloud Services eine Wirtschaftlichkeitsbetrachtung Eine Hilfestellung für den wirtschaftlichen Einsatz von Cloud Services

1. Access Sicherheitssystem ('Security')

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Technik der Cloud. Prof. Dr. Hannes Federrath Sicherheit in verteilten Systemen (SVS) München, 18.

Erfahrungen bei der Migration von MS Access nach Oracle Application Express

Wie sieht die IT-Infrastruktur von Morgen aus?

WindowsPro Windows, Virtualisierung und Cloud für Profis

DOAG SIG Day. E-Business Suite und SOA: Was ist heute schon möglich? Thomas Karle PROMATIS software GmbH. Frankfurt 26. April 2007

Enterprise standard. Enterprise premium. Enterprise flex. Features. Laufzeit 12 / 36 / 60 Monate flexibel 60 Monate. Useranzahl ab 10 ab 1 ab 50

vis flex Der wirkungsvoll einfachste Einstieg in das Web-to-Print-Geschäft

PRODUCTION INTELLIGENCE OUT OF THE CLOUD

Oracle Application Express: Web-Entwicklung schnell und einfach

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson

LDom Performance optimieren

Apex das Framework in der Datenbank

SKILLCLUSTER Schwalbenrainweg 30a Aschaffenburg Tel.: +49 (0)700-SCLUSTER Fax: +49 (0)700-SKILLS4U Mail:

Oracle Database Cloud Service

Reporting Lösungen für APEX wähle Deine Waffen weise

Layouterstellung im Web und interaktives Arbeiten mit dem BI Publisher

Oracle APEX 3.2. Peter Raganitsch. Einführung und neue Features

APEX und Drucken! - Die Schöne und das Biest!

Results in time. FLEXIBLER UND KOSTENGÜNSTIGER BETRIEB VON SAP SYSTEMEN. Beratung. Support. Ganzheitliche Lösungen.

TOra - Toolkit for Oracle

Best Practices für den Aufbau cloudfähiger Netzwerke

Conference and Guide

Oracle 10g Integration mit Microsoft Active Directory

Neue Welten: Externe Daten mit APEX nutzen

Sichere Webanwendungen mit dem elektronischen Personalausweis Teil 2

adecc StarSell 2006, Teil 1

Microsoft Azure Fundamentals MOC 10979

Automatisierung senkt den Betriebsaufwand für Ihr Netzwerk

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Software EMEA Performance Tour Juni, Berlin

Mein Arbeitsplatz wo, wann und wie ich will

Unify Customer Summits 2014 Data Center Herz der virtuellen IT-Fabrik. Andreas Hack, Leiter Consulting & Design South

LicenseWatch Connector für Citrix Presentation Server/XenApp und Edgesight

APEX: from past to present

Platform as a Service (PaaS) Prof. Dr. Ch. Reich

Wie setzt Swisscom Solaris 11 ein

Selectron Fleet Diagnosis

Cloud Computing - die Lösung der Zukunft

Oracle Enterprise Manager 10g Grid Control Release 2

Virtuelle Azure-Computer Praktische Übungen

20. Deutsche Anwenderkonferenz 2007 Software Entwicklung 2.0

Der Beitrag der Anbieter zum Kompetenznetzwerk Trusted Cloud

Transkript:

Cloud Computing für Entwickler leicht gemacht: APEX als Entwicklerplattform "As A Service" Autor: Carsten Czarski, ORACLE Deutschland B.V. & Co KG Nahezu alle Unternehmen stehen heute vor der gleichen Herausforderung: Geschäftsprozesse ändern sich immer schneller - und so ergeben sich fast täglich neue Anforderungen für die IT, die diese Prozesse unterstützen soll. Der "klassische" Prozess der Anwendungsentwicklung kann vielfach nicht mehr Schritt halten - bis die Projektumgebung aufgesetzt ist und die Entwickler produktiv arbeiten können, haben sich die Anforderungen meist schon wieder geändert. So besteht der Bedarf nach einer flexiblen Plattform, auf der neue Anwendungen schnell und unkompliziert bereitgestellt werden, bestehende einfach geändert und Entwickler eigenverantwortlich agieren können. Oracle Application Express (APEX) kommt diesem Bedürfnis in geradezu idealer Weise entgegen. Der Artikel stellt vor, wie eine Entwicklungsplattform mit APEX nach den Konzepten des Cloud Computing bereitgestellt und flexibel genutzt werden kann. Abbildung 1: Anwendungsentwicklung in der Cloud: Application Express

Einleitung: Cloud Computing Von Cloud Computing spricht das amerikanische National Institute of Standards and Technology (NIST), wenn ein System folgende Kriterien erfüllt. Selbstbedienung Zugang mittels üblicher Netzwerktechnik und Geräte Ressourcen werden je nach Bedarf (und nicht fest) zugeordnet Ressourcen stehen flexibel, quasi unbegrenzt zur Verfügung Abrechnungsfähiger Service Eine Entwicklungsplattform, welche diese Kriterien erfüllt und unternehmensweit bereitgestellt wird, erleichtert die Entwicklung neuer Anforderungen ganz erheblich. So stellt sich bei jeder neuen Anwendung, und sei sie noch so klein, die Frage nach der Laufzeitumgebung - es wird ein Datenbankschema, ein Anwendungsserver und ein Konzept zum laufenden Betrieb benötigt. Mitunter reicht ein Multiprojektserver aus, aber auch hier sind die Prozesse zum Hinzufügen einer neuen Anwendung meist kompliziert und langwierig. Das gleiche gilt für das Einspielen eines neuen Release oder eines Bugfixes. Komplizierte und langwierige Prozesse sind leider auch teuer. Je mehr Personen sich aktiv mit der Anfrage beschäftigen müssen und je individueller die Prozesse sind, desto teurer wird das Projekt für die Fachabteilung und desto länger dauert es, bis die nötige IT-Unterstützung für den Geschäftsprozess implementiert ist. Hier können die Konzepte des Cloud Computing helfen. Wenn die Ressourcenbeschaffung standardisiert ist, automatisiert abläuft und vom Projektverantwortlichen in Eigenverantwortung durchgeführt werden kann, beschleunigt das den ganzen Prozess, denn automatisierte Vorgänge sind stets kostengünstiger als manuelle. Daher sollte am Nutzen einer Cloud-Umgebung mit APEX kein Zweifel bestehen - allein die Tatsache, dass die Umgebung für eine benötigte Anwendung automatisiert und in wenigen Minuten bereitgestellt werden kann, spricht für sich. Die Ressourcen in einer Cloud werden in Form von Diensten (Services) in Anspruch genommen, wobei im wesentlichen drei Serviceformen unterschieden werden: INFRASTRUCTURE AS A SERVICE (IAAS) Hier werden Infrastruktur-Komponenten, wie zum Beispiel Storage, Netzwerk oder Rechnerkapazität zur Verfügung gestellt

PLATFORM AS A SERVICE (PAAS) Die angebotene Plattform beinhaltet zum Beispiel Datenbank- und Applikationsserver-Ressourcen. Eine solche Plattform kann dann Grundlage für eine konkrete Anwendung sein. SOFTWARE AS A SERVICE (SAAS) Hier wird eine komplette Anwendung als Dienst angeboten. APEX wäre nach diesem System "Platform-as-a-Service (PaaS)", denn eine Entwicklungsumgebung (Plattform) wird als Dienst bereitgestellt. Cloud Computing mit APEX: Selbstbedienung Selbstbedienung ist einer der wichtigsten Aspekte beim Cloud Computing: die Tatsache, dass Nutzer sich, ohne manuelle Eingriffe durch einen Administrator, selbst bedienen können, macht die Systeme flexibel und effizient. In APEX arbeiten Entwickler in Workspaces. Ein APEX-Workspace ist ein abgegrenzter Bereich mit eigener Benutzerverwaltung, der wie eine Sandbox funktioniert. Der Eigentümer eines Workspace kann diesen völlig unabhängig verwalten: So lassen sich neue Benutzer einrichten, bestehende ändern, entfernen oder neue Anwendungen erstellen - und zwar ohne dass ein Datenbankadministrator aktiv werden muss. Der wird nur dann gebraucht, wenn die Rechte oder Ressourcen eines Workspace erweitert werden müssen. Und auch hierfür gibt es einen definierten Prozess: Abbildung 2 zeigt die Anfrage eines Workspace nach mehr Speicherplatz. Diese muss (vom Administrator) genehmigt werden - danach wird der Speicherplatz bereitgestellt (die Tablespace-Quota wird erweitert) und der Entwickler kann weiterarbeiten. Abbildung 2: Anfrage eines Workspace nach mehr Speicherplatz

Je nachdem, wie ein APEX-Server aufgesetzt wurde, werden neue Workspaces - und damit neue Entwicklerbereiche - entweder manuell oder vollautomatisch eingerichtet. Abbildung 3 zeigt die Konfiguration der APEX-Instanz durch den Datenbankadministrator. Abbildung 3: Einstellen des Bereitstellungsmodus für neue Workspaces Wichtig bei einer solch flexiblen Umgebung ist der Umgang mit inaktiven Workspaces. Wie beim öffentlichen APEX-Demoserver apex.oracle.com melden sich die meisten Nutzer nicht formal ab, wenn der Workspace nicht mehr gebraucht wird. APEX bringt daher einen Standardprozess zum "Aufräumen" inaktiver Workspaces mit. Es wird eingestellt, wie lange ein Workspace inaktiv sein muss, damit er zum Löschen vorgemerkt wird und wie oft der Eigentümer vorher gewarnt werden soll. Den Rest macht Application Express alleine. Anwendungsentwicklung mit dem Browser: von Überall Eine Umgebung für einen Anwendungsentwickler aus der Cloud bereitzustellen, ist eine echte Herausforderung: Schließlich arbeiten Entwickler mit typischen Werkzeugen (Visual Studio, Eclipse oder JDeveloper) - und das sind Desktop- Applikationen, die zunächst installiert werden müssen. Das bedeutet allerdings, dass der Entwickler nur noch mit seinem PC arbeiten kann. Eine schnelle Änderung, von einem anderen PC aus, ist kaum machbar.

In APEX sind sowohl Entwicklungs- als auch Laufzeitumgebung webbasiert. Die Entwicklungsumgebung ist selbst wiederum eine APEX-Anwendung, läuft also in der gleichen Architektur ab, wie die entwickelten Anwendungen. Abbildung 4: APEX ist vollständig webbasiert - der Entwickler arbeitet allein mit dem Browser Für die Arbeit mit APEX muss also keine Software installiert werden. Auch Arbeiten am Datenbankschema, wie das Erstellen von Tabellen oder die Arbeit an PL/SQL- Prozeduren, können mit dem Browser erledigt werden. Das Deployment einer Anwendung findet nicht statt, da APEX ein metadatengetriebenes Werkzeug ist. Der Entwickler verändert durch seine Arbeit die im APEX-Repository gespeicherte Anwendungsdefinition und der Nutzer sieht die daraus generierten Webseiten sofort. Eine APEX-Anwendung kann also von jedem Ort aus sowohl genutzt als auch bearbeitet werden: Auf welchem Server APEX läuft, spielt keine Rolle. Ein Entwickler mit VPN-Zugang kann eine APEX-Applikation zur Not auch von unterwegs oder von zu Hause aus bearbeiten. Ressourcenverwaltung durch die Datenbank Ein APEX Workspace wird stets mit einem oder mehreren Datenbankschemas verknüpft - in den Schemas liegen die Datenbankobjekte wie Tabellen, Views oder PL/SQL-Funktionen, mit denen die Anwendung arbeitet. Bei Bedarf kann diese

Zuordnung geändert werden. Dem Datenbankschema kann nun (wie immer) eine Speicherplatz-Quota auf einem oder mehreren Tablespaces zugeordnet werden: APEX stellt speziell hierfür einen Anfragemechanismus bereit (siehe auch Abbildung 2). Solange diese Speicherplatz-Quota eingehalten wird, kann der Entwickler also beliebig neue Objekte anlegen oder bestehende erweitern. Wenn viele APEX-Workspaces gemeinsam auf einem System arbeiten, entstehen desto mehr Konfliktsituationen, je höher die Last auf dem System ist. Hierfür bietet die Oracle-Datenbank geeignete Mittel an: Wird der Ressourcen-Manager eingeschaltet, so lassen sich die verschiedenen Workspaces oder Anwendungen priorisieren. Wiederum merkt der Entwickler davon nichts - solche Aspekte muss er auch nicht bei der Entwicklung seiner Anwendungen berücksichtigen. Reichen die Ressourcen eines Servers nicht aus, kommen Technologien wie Real Application Clusters zum Einsatz - in diesem Fall greifen mehrere Server auf ein- und dieselbe Datenbank zu. Wird APEX auf einer RAC-Datenbank installiert, so bemerkt der Entwickler davon ebenfalls nichts - APEX funktioniert genauso wie in einer Single-Instance-Datenbank. Der Datenbankadministrator kann also anhand des Gesamt-Anforderungsprofils... Wie viele APEX-Anwendungen sind vorhanden? Wie viele Nutzer greifen parallel zu? Welche Verfügbarkeit wird benötigt?... Ressourcen wie Server, CPU-Kerne und I/O-Bandbreiten bereitstellen. Die Oracle- Datenbank sorgt dafür, dass die APEX-Entwickler diese möglichst effizient nutzen können. Das wird am öffentlichen APEX-Demoserver apex.oracle.com wiederum besonders deutlich: Welche Hardware dort tatsächlich läuft, ist dem APEX-Entwickler in keinster Weise ersichtlich - in einem APEX-Workspace arbeitet er, als hätte er den Server für sich alleine. Die Datenbank sorgt jedoch mit dem Ressourcen Manager dafür, dass keine Applikation die Server-Ressourcen für sich alleine allokieren kann. Kosten verteilen: Abrechnungsverfahren mit APEX APEX selbst bringt kein spezielles Modul zum Abrechnen von Kosten mit. Gerade hier hat wahrscheinlich jedes Unternehmen eigene Anforderungen und auch eigene Prozesse. Während die Kosten bei Unternehmen A nach der Belegung von Plattenplatz verrechnet werden, kommt bei Unternehmen B vielleicht eine pauschale Verteilung nach Workspaces in Betracht. Unternehmen A möchte die Kennzahlen

direkt von einem ERP-System verarbeiten lassen - Unternehmen B nimmt vorher eine manuelle Prüfung vor. Abbildung 5: APEX-Aktivität, gegliedert nach Anwendung Die Grundlage für jede Form der Kostenverrechnung sind Nutzungsdaten - und diese werden von APEX gesammelt. So werden alle Seitenabrufe im APEX Activity Log mitprotokolliert - nebst verbrauchter Zeit. Es lassen sich also sowohl einfache als auch komplexere Abrechnungsmodelle realisieren. Beispiele für sehr einfache Modelle wären die pauschale Verteilung der Kosten... Anhand der Anzahl Workspaces Anhand der Anzahl Anwendungen Anhand der Anzahl Benutzer Anhand des belegten Plattenplatzes im Tablespace Ein Beispiel für ein komplexeres Modell wäre die Verteilung anhand der Anzahl von Klicks, die auf die Anwendungen eines Workspace stattfinden oder die verbrauchte CPU-Zeit pro Anwendung. Welche Variante die Richtige ist, hängt stark von den tatsächlichen Kostentreibern des APEX-Servers ab. Zusätzlich können natürlich auch andere, von APEX unabhängige Metriken die Grundlage für eine Abrechnung sein. Fazit Application Express setzt einige der Konzepte und Ideen, die unter dem Begriff Cloud Computing diskutiert werden, bereits seit Jahren um. Wie der öffentliche Demoserver apex.oracle.com zeigt, können Entwickler einen Workspace im Selbstbedienungsverfahren beantragen und selbstständig verwalten und nutzen. Dem Entwickler steht die volle Bandbreite der Oracle-Datenbank zur Verfügung, egal

ob diese als Single Instance auf einer CPU oder als RAC-Datenbank auf mehreren Rechnerknoten läuft. Auf apex.oracle.com läuft allerdings genau das gleiche APEX, das auch heruntergeladen werden kann - es spricht also überhaupt nichts dagegen, ein eigenes "apex.meinefirma.de" im Unternehmen auszubauen - und mit dem Cloud Computing für Anwendungsentwickler sofort zu beginnen. Weitere Informationen Auf den Webseiten von Oracle und im Internet ist umfangreiches Material auch in deutscher Sprache vorhanden: [1] Deutschsprachige APEX Community http://blogs.oracle.com/apexcommunity_deutsch a. Vorfahrtsregeln in APEX mit dem Ressourcenmanager b. Eigene Bereitstellungsverfahren für APEX Workspaces einrichten Kontakt: Carsten Czarski Carsten.Czarski@oracle.com http://sql-plsql-de.blogspot.com Twitter: @cczarski