Browsing "Older Posts"

Browsing Category "DE"

Der Fahrplan bis zur APEX Connect 2019

Von Tobias Arnhold → 2.22.2019
Im Mai 2017 hatte ich euch gefragt worauf ihr euch am meisten freut was die damals anstehende APEX Connect betraf.
Nun schreiben wir das Jahr 2019 und bis zur Connect stehen noch einige Events vor der Tür, bei denen es neben dem technischen Wissensaustausch vor allem auch um die Vernetzung und das teilen des gemeinsamen Spirits geht.

Und falls Ihr euch fragt weshalb ich immer und immer wieder von "Spirit" rede, dann schaut euch mal den Artikel "#NextGenTrip18 — Community at Its Best" im ORAWORLD Magazin auf Seite 39 an. Dieser repräsentiert das Wort "Spirit" ganz gut. :)



Hier nun der Fahrplan bis zur APEX Connect 2019

Meetups
Das nächste Meetup findet am 11.03. in München zum Thema "APEX 19.1 New Features" statt.
Die anderen Meetupgruppen befinden sich noch im Winterschlaf. News gibt es aus Dresden, dort wurde eine neue Meetup Gruppe gegründet. Das erste Treffen ist bereits in Planung.
Eine Übersicht aller Meetups findet ihr auf apex.world.
Eure Stadt fehlt? Ihr wollt aber trotzdem eine Gruppe gründen und wisst nicht wie? Schreibt mich einfach an (Twitter, Mail) und ich versuche euch dabei zu unterstützen.


Workshops
Am 18.03. findet ein kostenloser APEX Workshop in Trier statt inklusive Hands On. Beeilt euch die Plätze sind begrenzt.

In Frankfurt gibt es am 13.03 einen kostenlosen Oracle Datenbank-Technologie Tag.

Zwischen dem 09.-10.04 bietet die MT AG einen APEX Migrations-Workshop an. Geeignet für alle die endlich auf APEX 18.2 migrieren möchten.


APEX Competition
Bis zur Connect läuft parallel auch die APEX Competition 2019 bei der es darum geht ein APEX Plugin zu entwickeln. Der Gewinner erhält 850 €.
Die Competition läuft noch bis zum 07. April. Genug Zeit für eurer erstes Plugin, den passenden Einstieg findet ihr übrigens in diesem aufgezeichneten Webinar:
Entwicklung von Plug-ins für Oracle Apex – Kurzer Einstieg


Im Mai findet dann die heiligste aller APEX Veranstaltungen im deutschsprachigen Raum statt:

Die APEX Connect

Am Vortag der Connect dem 06.05. (Montag) wird es ein kostenloses Meetup geben, bei dem bekannte Oracle Core Entwickler die letzten News rund um APEX, PL/SQL und Javascript teilen werden.
Zwischen dem 07.05. und dem 09.05. dreht sich dann alles nur noch um die bekannten 4 Buchstaben 

A..P..E..X..

Neben APEX steht natürlich auch wieder SQL, PL/SQL, Datenmodellierung und Javascript im Fokus der Besucher. Highlights rund um das Event werden in den kommenden Wochen über unterschiedliche Blogposts detaillierter kommuniziert, bis dahin schaut euch doch mal die Vortragshighlights und den Bewertungsprozess näher an. Das komplette Programm findet ihr hier:

Mein Highlight dieses Jahr sind definitiv die Beginner Sessions.
Geeignet für Newcomer, Studenten, ehemalige Forms-Entwickler, DBA's und alle die APEX näher kennenlernen möchten.

Eine verrückte Zeit endet...

Von Tobias Arnhold → 10.26.2018
Hallo zusammen,

ich habe leider eine schlechte Nachricht zu verkünden. Ich trete als Leitungskraft innerhalb der DOAG NextGen-Community zurück. Das kommt leider nicht nur für euch überraschend, und glaubt mir, dieser Schritt ist mir nicht leichtgefallen, weil ich weiß, dass ihr da draußen auf das, was die NextGen geleistet hat, vertraut und mit Freude die Entwicklung und den Spirit mitverfolgt habt.

Leider gab es vor kurzem mehrere Vorstandsbeschlüsse, die ein weiteres Engagement für mich praktisch unmöglich machen. Diese Beschlüsse betreffen die grundsätzliche Ausrichtung der NextGen-Community innerhalb der DOAG.

Beschluss 1:
„Die #NextGen-Community soll nur Themen behandeln, die NICHT bereits durch Themenverantwortliche in anderen Communitys abgedeckt werden.“

Heißt, die Technologie APEX darf nicht mehr mit der NextGen in Verbindung gebracht werden.

Beschluss 2:
„Für die Nachwuchsförderung bei bestehenden Themen sollen die jeweiligen Themenverantwortlichen der jeweiligen Communitys verantwortlich sein, nicht die #NextGen. Eine Zusammenarbeit und Einbindung in die #NextGen kann bestehen bleiben.“

Heißt für die Technologie APEX, dass Niels aus der Development-Community für APEX für den Nachwuchs verantwortlich ist.

Was macht die NextGen dann zukünftig?
Die DOAG verfolgt das Ziel, sich neuen, auch Oracle-unabhängigen Technologien zu öffnen und genau hier soll, denke ich, die NextGen in Zukunft der Treiber sein. Weitere Details dazu dann von der NextGen auf der DOAG K+A.

Was bedeutet das für die APEX-Community?
Ganz ehrlich, zunächst einmal einen großen Rückschlag. Die Leute, die im APEX Umfeld sind und gleichzeitig das gemocht haben, was die NextGen bisher verkörpert hat, diesen jungen Tech Enthusiasts muss die DOAG Development-Community nun schnell und einfach den Einstieg in deren Community bereiten, ansonsten werden diese Leute abspringen und sich anderweitig engagieren. Ich rede hier nicht von mir, sondern von denen die ich auf meiner Reise getroffen und schätzen gelernt habe:
Jonas, Charlotte, Pierre, Caro, Matthias, Jan, Davide, Ali, Philipp, Felix, Louisa, Rebecca, Maximilian, Victoria, Sebastian, Steven, Christopher, Abby, Florian, um nur einige zu nennen.

Und meine Zukunft?
Ich werde meinen Spirit und meinem Community-Fokus beibehalten und über andere Wege das Besondere tun um diese einzigartige Community zu bereichern.

Das Ergebnis werdet ihr auf der APEX Connect 2019 sehen, weil ich ab der APEX Connect 2019 für den Track APEX die Verantwortung innehabe. Und hier gibt es natürlich nur ein Ziel: den Community-Spirit an die Spitze zu treiben und mit möglichst vielen APEX-Enthusiasten eine unvergessliche Konferenz auf die Beine zu stellen.

Außerdem unterstütze ich das FABE Projekt (forallabeautiful.earth) von Steven Feuerstein und Vincent Morneau aus Sicht der Datenmodellierung.

Der NextGen-Community selbst kann ich nur alles Gute und viel Erfolg auf dem neuen Weg wünschen. Mir werden diese besonderen Momente immer im Herzen erhalten bleiben und ich bin sehr dankbar dafür solch einen Community-Spirit erlebt haben zu dürfen. Menschen wie Carolin Hagemann, Davide Groppuso, Jonas Gassenmeyer, Matthias Nöll und viele Andere die dem Wort "Community" den Spirit eingehaucht haben den ich geliebt habe.

Danke für eine GEILE Zeit! Und auch Danke Ingo Sobik für das unterstützen von verrückten Aktionen und dem ganzen DOAG Office diese Aktionen dann am Ende gemeinsam auch in die Tat umgesetzt zu haben.

Never forget: #POUGTrip, #nextGENrocks #NextGENTrip18 #Roadshow # CommunitySpirit




Tablespaces verkleinern (TEMP, USER_TS, ORA-03297)

Von Tobias Arnhold → 11.28.2016

Info
Die Select-Statements in diesem Blogpost habe ich von anderen Webseiten kopiert. Daher ist dieser Beitrag eher als Zusammenfassung unterschiedlicher Lösungsversuche zu sehen und dient mir als schnelle Hilfe bei der Verkleinerung eines zu großen Tablespaces. Schaut euch die Quellen an, die sehr viel detaillierter auf die jeweiligen Probleme eingehen.

Wer kennt nicht die Situation? Der DBA ruft an und meint der TEMP Tablespace verbraucht mehrere hundert Gigabyte an Speicher.

Was ist in solch einer Situation zu tun?
In dem Moment wo ein TEMP Tablespace überproportional ansteigt, muss eine Session diesen Anstieg verursachen. Mit dem folgenden Select erfahren Sie welche Session wie viel Speicher im TEMP-Tablespace verbraucht.

-- Source: http://stackoverflow.com/questions/174727/discover-what-process-query-is-using-oracle-temp-tablespace
select   b.tablespace
       , b.segfile#
       , b.segblk#
       , round (  (  ( b.blocks * p.value ) / 1024 / 1024 ), 2 ) size_mb
       , a.sid
       , a.serial#
       , a.sql_id
       , a.username
       , a.osuser
       , a.program
       , a.status
    from v$session a
       , v$sort_usage b
       , v$process c
       , v$parameter p
   where p.name = 'db_block_size'
     and a.saddr = b.session_addr
     and a.paddr = c.addr
order by b.tablespace
       , b.segfile#
       , b.segblk#
       , b.blocks;

Über die SQL_ID können Sie wenn vorhanden auch auf das Verursacher-Select zugreifen:
-- Source: http://cheatsheet4oracledba.blogspot.de/2014/01/how-to-find-top-temp-using-oracle.html
select sql_text 
from v$sql 
where sql_id='b6kta08q9jj3f';

Über den SQL Developer > Tools > Monitor Sessions können Sie die betroffene SID killen.

Anschließend wird der Verbrauch des TEMP-Tablespace zwar wieder zurückgefahren, aber die Größe bleibt bestehen.

Prüfen Sie daher zunächst die aktuelle verwendete Größe im TEMP-Tablespace:
-- Source: https://alexzeng.wordpress.com/2012/06/13/how-to-find-the-sql-that-using-lots-of-temp-tablespace-in-oracle/
select b.total_mb,
       b.total_mb - round(a.used_blocks*8/1024) current_free_mb,
       round(used_blocks*8/1024)                current_used_mb,
      round(max_used_blocks*8/1024)             max_used_mb
from v$sort_segment a,
 (select round(sum(bytes)/1024/1024) total_mb from dba_temp_files ) b;

-- Oder:
select * from dba_temp_free_space;

Wenn der Wert (current_used_mb) entsprechend klein ist, dann können Sie den TEMP-Tablespace verkleinern, andernfalls haben Sie nicht die richtige Session gekillt.

TEMP-Tablespace verkleinern:
select file_name,bytes,blocks from dba_temp_files;
-- .../tempfile/temp.911 564863696896 68953088

alter tablespace temp shrink space;

select file_name,bytes,blocks from dba_temp_files;
-- ../tempfile/temp.911 289513472 35341


Es kann aber auch vorkommen das eine normaler Tablespace zu groß wurde und dadurch viel mehr Platz verbraucht als es aktuell verwendet.
Um darüber einen Überblick zu erhalten, führen Sie folgendes Select aus:
 -- Source: Nicht mehr bekannt :(
select
   mb.*
  ,nvl(round(100 * freemb / sizemb,1),0) free_prozent
from 
 (select 
    b.tablespace_name
   ,round(tbs_size,2) as sizemb
   ,a.free_space freemb
  from 
    (select 
       tablespace_name
      ,round(sum(bytes)/1024/1024 ,2) as free_space 
     from dba_free_space group by tablespace_name
    ) a
   ,(select 
      tablespace_name, 
      sum(bytes)/1024/1024 as tbs_size 
     from dba_data_files group by tablespace_name
     union
     select 
       tablespace_name, 
       sum(bytes)/1024/1024 tbs_size
     from dba_temp_files
     group by tablespace_name 
    ) b
  where a.tablespace_name(+)=b.tablespace_name
  ) mb
order by free_prozent;

Bei einer solchen Situation muss anstelle des Tablespaces die Datendatei verkleinert werden.
Nun benötigen Sie dafür noch den richtigen Dateinamen, um die korrekte Datei zu verkleinern:
SELECT 
  name, 
  bytes/1024/1024 AS size_mb
FROM   v$datafile
;

Statement zum verkleinern der Datendatei:
ALTER DATABASE DATAFILE '.../DATAFILE/my_schema.033.123331' RESIZE 3G

Die Verkleinerung kann aber in einem ORA-03297 Fehler enden.

ALTER DATABASE DATAFILE '.../DATAFILE/my_schema.033.123331' RESIZE 3G
Error report -
SQL Error: ORA-03297: file contains used data beyond requested RESIZE value

Jetzt bleiben Ihnen 3 Schritte um mit geringem Aufwand diese Datei doch noch zu verkleinern:

1. Fragmentierung bereinigen
Die Datendatei wurde fragmentiert und eine Tabelle liegt am Ende der Datei und verhindert dadurch die Verkleinerung.

Beispiel:
Die Datendatei ist 90 GB groß und tatsächlich werden nur 2 GB verwendet.
Eine Tabelle liegt von der Verteilung her zwischen 82-83 GB. Heißt, ich könnte die Datendatei nur auf 84G verkleinern. Also müssen Sie in solch einem Fall das Objekt ausfindig machen und löschen. Sinnvollerweise kopiere ich vorher die Tabelle in einen anderen Tablespace, um diese anschließend wieder herstellen zu können. :)

Um die Blockverteilung analysieren zu können, muss vorher die richtige File-ID ausgelesen werden:
select 
  s.tablespace_name, s.owner, s.segment_name, s.segment_type,
  sum(s.bytes) size_in_bytes,
  round(sum(s.bytes) / 1024 / 1024, 2) size_in_m,
  sum(round(sum(s.bytes) / 1024 / 1024, 2)) over() as size_in_m_gesamt,
  f.file_id,
  f.file_name
from sys.dba_segments s, sys.dba_data_files f
where f.tablespace_name = s.tablespace_name
and f.file_id = s.header_file
and s.tablespace_name in ('NTDC03')
group by s.tablespace_name, s.owner, s.segment_name, s.segment_type, f.file_id, f.file_name
order by s.tablespace_name, s.owner, s.segment_name;

Das folgende Select zeigt die Blockverteilung mit den verwendeten DB-Objekten innerhalb der Datendatei:
 Source: http://www.orait.de/db_fehler/ora-03297_file-contains-used-data-beyond.html
select 
  file_id,
  block_id, 
  blocks*8192/1024/1024 as mb,
  owner||'.'||segment_name as object_name,
  block_id*8192/1024/1024 as position_mb
from sys.dba_extents
where file_id = 206
union
select 
  file_id, 
  block_id, 
  blocks*8192/1024/1024 as mb, 
  'Free' as object_name,
  block_id*8192/1024/1024 as position_mb
from sys.dba_free_space
where file_id = 206
order by 1,2,3;


Wenn Sie die betroffenen Tabellen gelöscht haben, dann klappt auch die Verkleinerung wieder:  
ALTER DATABASE DATAFILE '.../DATAFILE/my_schema.033.123331' RESIZE 3G 
Database datafile '.../DATAFILE/my_schema.033.123331' altered.

2. Recycle Bin löschen
purge recyclebin;

3. Coalesce Tablespace
alter tablespace fred coalesce;

Info: TEMP Tablespace auf Unlimited setzen
alter database tempfile '.../TEMPFILE/temp.910.901132571' autoextend on next 250m maxsize unlimited;

APEX Entwickler gesucht...

Von Tobias Arnhold → 1.05.2016
Die Deutsche Bahn ist auf der Suche nach einem APEX Entwickler.

Aktuell bin ich durch meine selbstständige Tätigkeit selbst vor Ort und meine Eindrücke möchte ich mal nach außen tragen, damit ihr seht wie die Bahn auch sein kann.

Mich persönlich beeindrucken nicht die offensichtlichen Dinge vor Ort:
 - Die Stadt: Frankfurt
 - Die Firma: DB Systel (IT Dienstleister der Deutschen Bahn)
 - Der Tower: Dein Arbeitsplatz ist an einer der höchsten Stellen in Deutschland
 - Das Team: Ein Team von 15 APEX Entwicklern sucht ihr anderswo vergeblich

Sondern die eigentliche Arbeit:
 - Du bist Berater, Projektleiter und Entwickler zu gleich
 - Du lernst mit dem Kunden das Ergebnis zu entwickeln
 - Du entwickelst deine Fähigkeiten in kürzester Zeit extrem weiter.
 - Du arbeitest gleichzeitig in unterschiedlichen Projekten bei denen nur das Bahn-Logo ähnlich ist
 - Du arbeitest vielleicht alleine an einem Projekt, hast aber immer ein Team von Spezialisten im Hintergrund

IMHO:
Das was viele versprechen wird hier gelebt.

Wenn du...
  - besser werden möchtest
  - selbstständiger agieren möchtest
  - ein Team suchst
 hier findest du es.

Ach ja wer meint die Bahn sei langsam und wenig innovativ. Hier ist die Stelle bei der Ihr aktiv die Veränderung mitgestalten könnt.

Übrigens ist die Bahn auch auf der Seite von Oracle APEX zu finden:
Oracle Application Express Community - Quotes

Weiterführende Infos zur Stelle findet ihr hier:
IT-Berater/Projektmanager mit StartUp-Mentalität gesucht (w/m): Small Solutions/Webanwendungen

Ps.:
Wenn Ihr vor habt euch zu bewerben, dann schreibt mir eine Email. Es gibt bei der Bahn eine Aktion Mitarbeiter wirbt Mitarbeiter und den Erlös könnte man gut in ein Teamevent investieren. :)

---------------------------------------
Image Designed by Freepik

Die APEX Community gibt Vollgas!

Von Tobias Arnhold → 10.22.2015
Am Montag dem 19.10. wurde getrieben von Jürgen Schuster und weiteren APEX Entwicklern die apex.world Plattform veröffentlicht.


Eine nur von der APEX Community entwickelte und betriebene Plattform, die die Kommunikation und Zusammenarbeit zwischen Entwicklern drastisch vereinfachen und verbessern will.

Die Highlights:
 - eine LIVE Integration von Slack und Twitter
 - Die APEX Job Börse
 - Plug-In Bereitstellung mit Hilfe von GitHub
 - APEX Terminübersicht zu Meetups, Konferenzen und Live Webinars
 - APEX Einsteigerbereich (noch in Arbeit) und eine Link-Zusammenfassung über APEX Themen

Einbringen kann sich ein jeder APEX Entwickler.
Interesse? Hierzu wendet ihr euch am Besten an Jürgen. :)

Imho
Eine Klasse Leistung aller Beteiligten und wieder einmal beweist die Community selbst wie Weiterentwicklung funktioniert.

Was fehlt noch?
Ich persönlich fände eine Integration des APEX Blogaggregators sehr sinnvoll, damit wäre im Prinzip alles beisammen. Eine Integration von Beispielanwendungen wäre ebenfalls eine sinnvolle Erweiterung. Ich allein hätte da eine ganze Menge zu bieten:
http://www.apex-at-work.com/p/beispielanwendungen.html

Neben apex.world gibt es weitere Neuigkeiten rund um APEX zu berichten.


Generell:
 - APEX 5.0.2 steht zum Download bereit. Die Installation sollte in 10 Minuten erledigt sein.

 - Eine Aktualisierung des Statement of Direction für APEX 5.1 wurde veröffentlicht.

 - Die Developer Choice Awards wurden vergeben und Dietmar ist dabei.
   Glückwunsch! Respekt! Absolut Verdient!

 - Die APEX Connect Seite und die Seite der MT AG (APEX only by Material Design) wurden rund erneuert.
   Ps.: Bei der APEX Connect dachte ich Vorträge über SQL Techniken in APEX und Geovisualisierung einzureichen. Was denkt Ihr?

 - Neue APEX Anwendung: livesql.oracle.com 
   Imho: Ab jetzt immer und jederzeit SQL coden!


- Die wichtigste aktuelle Programmiersprache ist: SQL!!!

- Der SQL Developer und der ORDS sind jeweils in neuen Versionen erschienen.

Events die in naher Zukunft jeder kennen sollte:
28.10. Stuttgart - Meetup Stuttgart
30.10. Frankfurt - Meetup Frankfurt
16.11. Nürnberg - APEX Treff vor der DOAG Konferenz 2015
17.11. - 19.11. Nürnberg - DOAG 2015

Seit Juli diesen Jahres gibt es auch ein monatlich stattfindendes Webseminar rund um aktuelle Oracle Themen: tinyurl.com/oradevmonthly
Aktuelle Infos dazu findet ihr auch in Twitter.

Und nächstes Jahr geht es gleich weiter:
Im Januar 2016 starten Karin Patenge, Rainer Willems, Beda Hammerschmidt, Kai Donato, Dietmar Aust und Carsten Czarski - in Zusammenarbeit mit der DOAG eine Online-Videoserie zum Thema Modern Application Development - in der Praxis.

APEX, HTML und Jahresausklang...

Von Tobias Arnhold → 12.05.2014
Die letzten Wochen waren verdammt arbeitsintensiv und es wird bis Weihnachten nicht viel besser werden. Meetings, Telko's, PL/SQL, SQL, APEX alles verpackt in unterschiedlichsten Projekten.

Umso mehr waren die 3 Tage #DOAG2014 eine gute Erholungspause und eine Quelle für neue Motivation und Ideen.

Mein eigener Vortrag zum Thema "Dynamisches Arbeiten mit Grafiken in APEX" kam sehr gut an und zeigt einmal mehr das APEX Enthusiasten auch am letzten Tag 09:00 Uhr bereit sind sich weiterzuentwickeln. ;)

Für Alle die es verpasst haben oder gar nicht auf der DOAG waren. Habe ich eine Version der Anwendung auf apex.oracle.com hochgeladen: https://apex.oracle.com/pls/apex/f?p=78451

Wenn jemand noch Interesse haben sollte, kann er sich gern bei mir melden.

Auf der kommenden #APEXConnect werde ich ebenfalls wieder über Plugins berichten und werde meinen Fokus auf neue WEB-Techniken setzen.

Eine Technik wurde im letzten APEX Community Tipp bereits näher beschrieben: D3js" in APEX-Anwendungen integrieren

Selbst wenn Sie kein Interesse an der gezeigten Technik haben, so ist die beschriebene APEX Integration allemal sehr informativ und lehrreich.

Außerdem habe ich auf Twitter noch einer sehr interessanten Link zu den besten Javascript Erweiterungen in 2014 gefunden (Dank an ).

Das zeigt einmal mehr was heutzutage alles möglich ist und verleiht einem das Gefühl wieder rumspielen zu wollen, wie damals unter APEX 3 mit AJAX.

Ps: Denkt dran Morgen ist Nikolaus https://apex.oracle.com/pls/apex/f?p=25787
APEX-AT-WORK no image

APEX sei ein langsames Tool

Von Tobias Arnhold → 11.14.2013
Nachdem ich den Blogpost von Joel Kallman gelesen habe, dachte ich mir ein paar eigene Erfahrungen zum Thema APEX und Performance beizutragen.

Die Aussage APEX sei ein langsames inperformantes Tool, ist einfach nur FALSCH!
Wenn jemand ein Auto mit angezogener Handbremse fährt, dann liegt die langsame Geschwindigkeit nicht am Auto sondern am Fahrer.
Wenn ich in meiner APEX Anwendung inperformanten PL/SQL, SQL oder JS Code einbaue, dann liegt es nicht an APEX sondern an mir, der die internen Funktionalitäten nicht versteht. Der Aussage lieber in Oracle Skills statt in APEX Skills zu investieren kann ich nur beipflichten. Wobei ich statt Oracle Skills eher die SQL Skills im Vordergrund sehe.

In meiner Zeit als Festangestellter und als Freelancer habe ich mit verschiedensten APEX Versionen in unterschiedlichsten Hardware Umgebungen gearbeitet.
Von einer virtuellen 1 CPU Umgebung bis hin zur Exadata war alles dabei. Die inhaltlichen Anforderungen waren bei den LowCost Systemen teilweise anspruchsvoller als in den High Performance Umgebungen.

Wo liegt nun der Schlüssel zum Erfolg?
Meiner Meinung nach in weniger PL/SQL und vielmehr in guten SQL, durchdachter Konzeption und der Verwendung von möglichst viel APEX Standard Funktionalität! 
Die meisten komplexen PL/SQL Themen kann ich mit Hilfe von Oracle Standard SQL Funktionen lösen. Beispiel: "Analytische Funktionen"

Ich meine, Sie arbeiten mit einer der schnellsten Datenbanksoftware auf dem Markt.
Was kann diese am Besten? SQL.

Natürlich ist und bleibt ein erheblicher Erfolgsfaktor einer jeden APEX Lösung, die notwendige Konzeptarbeit am Anfang eines jeden Projektes zu leisten. Da kann auch das Beste SQL schnell zum scheitern Verurteilt sein. Folgende Fragen sollten dabei immer in Betracht gezogen werden?

Was mache ich eigentlich für ein Projekt: OLTP oder OLAP? 
Wie komplex sind die Tabellenstrukturen?
Wie sieht das Mengengerüst aus ?
Wie viele Datensätze werden die Tabellen haben?
Kann ich eventuell Daten auch redundant abspeichern?
Wird das System auf Dauer erheblich mehr Datensätze generieren?
Wenn ja, wie viele? Welche Tabellen sind betroffen? Benötige ich spezielle Tests?
Sind Bottlenecks erkennbar?
Welche Schnittstellen müssen integriert/geschaffen werden?
Gibt es bereits Erfahrungen mit diesen Schnittstellen?
Werden sich auch nach Fertigstellung der Anwendung häufig die Anforderungen ändern?
Haben schon andere Entwickler versucht die Anforderungen umzusetzen? Wenn ja, dann gilt es hier besonders zu Glänzen. :) ...und den Kunden nicht wieder zu enttäuschen.

Statt sich einzig und allein an Vorstudien oder Konzepten zu orientieren, sollte der Kontakt zum Kunden gesucht werden.

Warum?
Die meisten Dokumente die den Inhalt einer neuen Anwendung transportieren sollen, hören dabei immer bei den komplexen Themen auf Antworten zu liefern. Nur die Fachverantwortlichen können einem frühzeitig mit entsprechenden Hinweisen aufkommende Probleme erkennen lassen.
Außerdem kann der Kunde so frühzeitig auf visuelle und funktionale Entscheidungen einwirken.

Nur weil jeder mit APEX sehr schnell Lösungen generieren kann, heißt dies nicht, dass jegliche Softwareentwicklungsprinzipien außer Kraft gesetzt werden können und dürfen.





Mobile APEX Anwendung mit Unterschrifts-Feld

Von Tobias Arnhold → 10.30.2013
Eigentlich eine simple Anforderung. Baue eine mobile Eingabemaske mit einem zusätzlichen Feld für eine digitale Unterschrift.
Wie für sehr vieles im WWW gab es auch dafür diverse Lösungen. Die Einzige die mir auf Anhieb wirklich gefallen hat, war: jSignatur

Warum:
 - Leicht zu integrieren
 - wenig JS Code + nur eine JS-Datei
 - funktioniert mit jQuery UI und jQuery Mobile
 - es werden alle gängigen Browser (inklusive IE 7 unterstützt)
 - keine Kommunikation mit anderen Diensten/Servern notwendig
 - Export / Import Funktionalität
 - Speicherung als String / Base64 Code

Ich bin zwar gerade noch bei der Integration und noch längst nicht fertig. Aber soweit ich das einschätzen kann, wird es nicht allzu kompliziert. Für einen ersten Entwurf habe ich 2 Stunden gebraucht (inklusive Test auch anderer Signatur-Plugins), da passt die Kosten-Nutzen Rechnung. :)


Ok ich werde wohl nie ein Grafiker werden...

Nachtrag 10.11.2013:
Die achso einfache Lösung hat mir einiges abverlangt.
Grund: Fehlendes Wissen im Bereich jQuery Mobile + 32k Übertragungsproblem

Nichts desto trotz kann ich sagen, der Upload/Dowload funktioniert! :)

Download