Saubere Urls ohne Mod-Rewriting war ein Thema bei der Anpassung des Web-Auftrittes der Schriftstellerin Nora Günther. Ihr Provider bot erst im gehobenen Preissegment die Möglichkeit der Konfiguration der .htaccess-Datei. Die Idee, mittels Mod-Rewrite schönere Urls zu erzeugen, war somit nicht umsetzbar. Aber dann zeigte sich, dass der verwendete Apache-Server bereits für Multi-View bzw. ForceType konfiguriert war. Mit Hilfe der PHP-Servervariable PATH_INFO liessen sich dann auch die ungeliebten Parameter maskieren. Das Ergebnis kann sich sehen lassen: google nora g.
Schnittstellen-Entwicklung war der Auftakt des Jahres 2009. über eine Zusammenarbeit mit Creditpass sollte eine XML-Schnittstelle für einen Kunden erstellt werden. Dieser wäre dann in der Lage gewesen, über 8 creditpass-Produkte Anfragen zu stellen. Von den 8 Produkten liefern 5 Produkte Daten in Echtzeit, GeoIP wird noch nicht gewinnbringend nachgefragt und Adressauskünfte bzw. Firmenauskünfte sind laut Aussagen von telego-Mitarbeitern aufgrund der schlechten Datenqualität nur auf der Plattform Creditpass direkt möglich. Wie es weitergeht, hängt von der Firma deptCollect GmbH ab und ob der nötige finanzielle Spielraum vorhanden ist, über diese zu entwickelnde universelle Schnittstelle Ihr eigenes Portfolio zu erweitern.
Die Bibliothek FPDF ist ein frei verwendbares Framework zur Erzeugung von PDF-Dateien im PHP-Umfeld. Wollten Sie auch schon einmal PDF-Dokumente mit Tabellen bereichern, die colspan- und rowspan-Attribute sowie mehrzeilige THeader unterstützen? Eine Erweiterung (Extension) der FPDF-Klasse macht es möglich. Anders als DomPDF, welches auf ezPDF basiert, lassen sich auch sehr breite und extrem lange Tabellen erstellen.
Das 'Nested Sets' Modell gestattet es, Bäume mit SQL abzubilden. Wussten Sie, dass das Anzeigen von Bäumen mit nur einer SQL-Abfrage möglich ist? überdenken Sie Ihr Datenbankmodell. Lösen Sie sich von Tabellen, die sich schwerfällig über Vater-Sohn-Beziehungen selbst referenzieren. Lassen Sie die unzählbaren joins hinter sich. Das ganze hat aber auch Nachteile. So müssen Sie bei jeder Änderung am Baum den gesamten Tabelleninhalt neu berechnen. Daher verbinden Sie einfach beide Methoden und nutzen neben der gewohnten parent_id, die Tabellenspalten LFT und RTG.
EZ Publish nennt sich das CMS, mit welchem die Unternehmenspräsentation der Bechstein AG bis Ende Februar realisiert wurde. Durch Änderungen an Templates und Design-Vorlagen lassen sich Ideen der Grafiker browserübergreifend umsetzen. Über in Extensions zusammengefasste Module werden kundenspezifische Anpassungen in der ez Templatesprache und PHP vorgenommen, wie z.b. aufwendige Formulare oder Datensichten.
Formulargestaltung für den Einsatz im Internet ist meist eine zeitraubende Sache. Je komplexer Formulare zur Datenerfassung sind, desto schwieriger lässt sich das Layout in XHMTL und CSS umsetzen. Voraussetzung ist auch, dass der Kunde einen aktuellen Browser einsetzt und online ist. Dabei gibt es für den Kunden einen optimaleren Weg: Datenerfassung über statische bzw. dynamische Adobe Acrobat Formulare. Letztere gestatten sogar das Anzeigen von zusätzlichen ergänzenden Teilformularen. Die Validierung erfolgt dabei clientseitig ohne Verzögerung. Mit Adobe Acrobat Javascript unterstützen wir den Leser des Formulares mit sinnvollen Funktionen beim (offline) Ausfüllen. Als Berliner können wir einen weiteren Vorteil an unsere Kunden weitergeben: Kundennähe über unser Netzwerk und die Möglichkeit sofort auf neue Anforderungen, auch über Unternehmensgrenzen hinaus, zu reagieren.
Ich entwickle objektorientiert unter PHP und Java. In Projekten eingesetzte Datenbanken waren bisher MS Access, MySql, DB2, Oracle. Ein Suchmaschinen-Projekt bei Schering wurde mit Java realisiert. Die dabei entstandene Applikation war web-basiert und stand in Verbindung mit einem K2-Server. Der K2-Server ist die weiterentwickelte Variante einer PortalOne-Suchmaschine. Wurde im PortalOne-Projekt noch SearchScript (serverseitig einsetzbare, herstellerspezifische Scriptsprache) benutzt, gestattete das Java-basierte K2-Interface die Verwendung des Struts-Frameworks.
Ajax ist ein Konzept zur Datenübertragung zwischen Server und Browser. Damit können asynchron Inhalte mit JavaScript in Form von XML zur Darstellung auf Internetseiten geladen werden. Auf eingeschränkten Browsern kann dies auch ohne Ajax erreicht werden, vorausgesetzt, es sind wenigstens Frames und JavaScript erlaubt und der gesamte Datenverkehr läuft über einen Server. So lassen sich z.B. Baumansichten nachladen ohne dass sich die Darstellung spürbar verzögert bzw. lange Ladezeiten den Benutzer an weiteren Aktivitäten hindern.
Werden Web-Applikationen entworfen, so wird dem Kunden immer angeraten, gleich das MVC-Pattern zu nutzen. Falls in PHP entwickelt wurde, können so nachträglich leicht Anpassungen am Layout vorgenommen werden, ohne auf die Geschäftslogik oder die Datenhaltungsschicht Einfluss zu nehmen. In Java entworfene Applikationen bedürfen dagegen immer ein nochmaliges Kompilieren der Applikation mit anschließendem Verteilen auf dem Server. Stehen für Kunden eines Rechenzentrums nur wenige Updates zur Verfügung, sind nach Abnahme der Software nicht sofort Korrekturen oder Erweiterungen möglich. Daher ist es wichtig, nicht zu eng zu planen und Spielraum für Weiterentwicklungen bereits im Vorfeld einzuräumen.
Standalone-Software muss für jeden Arbeitsplatz erst freigeschalten werden, falls das eigenständige Aufspielen von Software aus Sicherheitsgründen nicht gestattet ist. Zwar besitzen derartige Softwareprodukte eine interne Update-Funktion um neue Versionen von einem Zentralarchiv zu ziehen, es stellt aber auch die Frage nach dem Lizenzmanagement. Das Standalone-Software mitunter nicht überall mit der gleichen Version laufen wird, ist daher nicht auszuschließen.
Ein Aspekt in der Software-Entwicklung ist auch die Bereitstellung einer Kommunikation der Softwareprodukte untereinander und damit zugleich der Datenaustausch. Je nach Anwendungsfall kann dieser synchron oder asychron erfolgen.
Handelt es sich um eine Verbindungsaufnahme von Softwaremodulen untereinander, wird häufig zuerst ein Protokoll ausgetauscht. Die Softwaremodule verhandeln untereinander, welche Arbeitsaufgaben oder Daten ausgetauscht werden sollen. In einem Projekt mit eingeschränkter Portwahl wurde somit eine Art FTP-Protokoll synchron realisiert, basierend auf Port 80. Die Benutzeroberfläche wiederum gliederte sich in mehrere Anzeigebereiche und wurde asynchron bearbeitet.
Als Datenaustauschformat wird oft XML gewählt. Funktionalitäten (z.B. WebServices) können u.a. über SOAP angefordert werden. Falls ein zeitgesteuerter Arbeitsablauf nötig ist, empfiehlt sich unter Java das Projekt Quartz. Unter PHP greift man auf Cronjobs zurück. Der Anbieter www.cronjobs.de ist zwar eine unkonventionelle Alternative, aber eher für Privatanwender zu empfehlen. Bei Verwendung von Lotus Notes besteht die Möglichkeit, ein Notes-Dokument als Java-Objekt anzuwenden. Dieses Java-Objekt wird als Softwaremodul im Lotus-Notes-Server eingebunden und führt als Notes-Agent (stationär arbeitender Softwareagent) benutzerspezifische Aktivitäten aus. Dieser Softwareagent ist z.B. in der Lage, von externen Informationsquellen gebuchte News abzuholen und im Intranet zur weiteren Informationsaufbereitung anzubieten.
Will man auf Microsoft-Produkte wie Outlook nicht verzichten, können mit einem standardisiertem Datenformat Visitenkarten und Termine ausgetauscht werden. Xing ist sogar ein Beispiel dafür, dass dieses Vorgehen funktioniert. Für die Erstellung werden die Daten aufbereitet zu einer elektronischen Visitenkarte in VCARD-Tags und für einen elektronischen Termin in VCALENDAR-Tags eingefasst.
Mein Werdegang als Softwareentwickler begann ich als Shareware-Entwickler. Und als frischgebackener Wartungselektroniker baute ich mir damals meine Hardware zum größten Teil selbst. Das waren noch Zeiten mit bis zu vier Spielern an einem PC, 48-bit AD-Wandler oder dem 64 KByte Speichermodul... Aus der Shareware-Szene verabschiedete ich mich 1998 mit einem Beitrag zur CD "Viel Spiel! 14 Spiele für Windows 98", veröffentlicht im Sybex-Verlag. Nach der Entwicklung in Assembler, VC++ und VB wechselte ich zu Perl. Ich war mitverantwortlich für einen der ersten B2B-Marktplätze Deutschlands. "needs" - so der Name der damaligen Plattform - lief unter Perl, XML und Java.
Marian Kulisch