(German-language version below)
This workshop is ideal for Delphi programmers as an introduction to the world of Lazarus as a supplement to your Delphi skills. With over 20 years experience in Delphi programming we have now been implementing for the last 4 years all new projects exclusively with Lazarus, and provides a comprehensive insight into programming with Lazarus.
Programmers, who …
... already have a number of years experience developing Delphi applications,
... wish to continue to use their existing Delphi VCL and Pascal knowledge,
... take advantage of a similar development environment with an almost identical programmming language,
... want to realize real multi-platform development,
... want to utilize the advantages of an active open source software and community,
... want to choose a future-proof and vendor-independent development environment for the next 10 to 20 years,
... want to save license fees and yet still keep up-to-date.
Dieser Workshop ist ideal für Delphi-Programmierer als Einstieg in die Welt von Lazarus als Ergänzung zu Ihren Delphi-Kenntnissen. Mit über 20 Jahren Erfahrung in der Delphi-Programmierung setzen wir nun seit 4 Jahren alle neuen Projekte ausschließlich mit Lazarus um und bieten einen umfassenden Einblick in die Programmierung mit Lazarus.
Programmierer, die …
... bereits mehrjährige Erfahrung mit der Entwicklung von Delphi Applikationen haben
... ihr vorhandenes Delphi VCL und Object Pascal Know-How weiter nutzen möchten,
... die Vorteile einer ähnlichen Entwicklungsumgebung mit nahezu identischer Programmiersprache nutzen wollen
... eine echte Multiplattformentwicklung realisieren wollen
... die Vorteile einer aktiven Open Source Software und Community nutzen wollen
... eine zukunftssichere und herstellerunabhängige Entwicklungsumgebung für die nächsten 10 bis 20 Jahre auswählen wollen
... Lizenzkosten sparen wollen und trotzdem immer up-to-date bleiben wollen.
(German-language version below)
The Firebird Developer Days is the training event for Delphi and Lazarus developers who want to benefit from the knowledge of the IBExpert database experts. You can expect interesting talks covering all aspects of Firebird, IBExpert, Lazarus and Delphi development. The focus is on the practical application of the technologies and methods presented, which can also be implemented with other programming languages.
Die Firebird Entwickler Tage sind das Trainingsevent für Delphi und Lazarus Entwickler, die vom Wissen der IBExpert Datenbank Experten profitieren möchten. Es erwarten Sie interessante Vorträge rund um die Entwicklung mit Firebird, IBExpert, Lazarus und Delphi. Der Fokus liegt dabei konsequent auf dem praktischen Einsatz der vorgestellten Technologien und Methoden, die auch mit anderen Programmiersprachen umgesetzt werden können.
(German-language version below)
The networked world today requires a powerful and flexible integration of mobile data acquisition devices in most commercial areas. While the apps in the Apple world hardly allow any really long-term application development without Xcode, in the Android world it is also difficult to be competitive without Android Studio. Alternative concepts such as the FMX implementation in more recent Delphi versions as well as Xamarin or similar frameworks promise multi-platform capability, the reality however is somewhat different. The first rollout of a native app requires a lot of know-how, and even seemingly trivial problems can cause long waiting times until the full version can be used by the customer.
If you are a software manufacturer and want to expand your ERP or business software by offering a flexible module for mobile devices, you will find several man-months or even man-years of development work, which can hardly be refinanced. Your customers expect such a feature on their own smartphones; however they are not willing to pay additional costs.
A decision to use only Android as a platform will not be acceptable for customers with Apple devices, so that the iOS platform for Apple also needs to be implemented. The development costs thus double and even a mundane task, such as mobile time tracking for field service technicians must also be implemented on these two platforms, in addition to the back-office solution for the office employees or on laptops, for which the source code cannot be used across multiple platforms.
Let’s stay with the example of mobile time tracking and consider alternative methods. Certainly, there are places where mobile phone reception is not always available or poor, but generally it can be assumes in most areas of Western Europe that a sufficiently good connection can be ensured. This is certainly a different matter in the Australian outback, but in such a case we would use a fully-fledged replicated database on a laptop, to enable access to even large amounts of data at any time.
In our 2-day training course Bootcamp database web applications using Firebird, you will learn all knowledge necessary to visualize data from a Firebird database via an Apache web server on Windows or Linux with minimal PHP knowledge.
A registration of the mobile device can be permanently assigned by URL or an individual view of the assigned data is displayed interactively using the Username and Password. In this way the sample application "Mobile Time Tracking" can display instructions for selection directly assigned to the user of the mobile device, minimizing errors such as booking time to the wrong jobs.
Simple control elements, known in the Delphi world as TLabel, TEdit, TMemo, TCombobox, TButton, TListbox, etc., are recorded on the website by the logic instructions, which are implemented in Firebird stored procedures, and filled with data from the database. The user can now enter numbers or strings depending upon the task, or simply trigger a Start- or Stop-booking with a simple click.
The resulting data is written back into the Firebird database by the Apache/PHP script. These can create messages at any time via triggers and events in the back office, and can alert the person responsible to new mobile data, or can be fully automated in collective bills.
You have no PHP experience? No problem, the PHP script used contains only around 30 lines and these will only altered in very few places during the whole training.
Do you lack basic knowledge of HTML controls? During the course, we will provide you with all the necessary basic knowledge, enabling you to extend this knowledge yourself at any time in the future.
You have never set up an Apache web server on Windows or Linux with PHP, or set up PHP access to Firebird? This is also part of our training. We’ll set up a virtual Windows server together. This server with the exact same configuration is offered by Hosteurope for EUR 9.90 a month.
How do you get the data rapidly from the local database to the Firebird database on the virtual server, without having to store all data there, and to make it publicly available in case of a faulty configuration? We explain the most important security aspects of such a Firebird configuration and show how to exchange data between the customer server and the server on the VM in near real-time using the push-pull principle.
Does this work even if the data is not stored locally in Firebird databases? Yes, we use IBEScript to show you basic IBEBlock scripts, which allow you to connect to any ODBC-compliant database to write the local data into your Firebird database vice versa.
How can the server-side application be used to send e-mails and generate PDFs, for example, to automatically generate order confirmations around the clock? We will show you how it is possible to use the IBEBlock Script on the server side. In addition to Windows for IBEscript.exe, we can also use Linux with Wine.
Die vernetzte Welt erfordert mittlerweile für nahezu sämtliche Geschäftsbereiche eine leistungsfähige und flexible Integration von mobilen Datenerfassungsgeräten. Während jedoch die Apps in der Applewelt kaum ohne Xcode wirklich langfristige Applikationsentwicklungen ermöglichen, ist man in der Android Welt ohne Android Studio ebenfalls kaum wettbewerbsfähig. Alternative Konzepte, wie die FMX Implementation in neueren Delphi Version ebenso wie Xamarin oder ähnliche Frameworks versprechen Multiplattformfähigkeit, aber die Realität sieht anders aus. Das erste Rollout einer nativen App bedarf einer Unmenge an Know-how und selbst scheinbar banale Probleme sorgen für lange Wartezeiten bis zur Nutzung der vollständigen Version durch den Kunden.
Wenn Sie als Softwarehersteller nun Ihre ERP- oder Branchensoftware um ein flexibles Modul für Mobilegeräte erweitern möchten, kommen auch bei einfachen Anwendungen mehrere Mannmonate oder sogar Mannjahre Entwicklungsarbeit zusammen, die sich kaum refinanzieren lassen. Ihre Kunden erwarten zwar eine derartige Funktion auf dem eigenen Smartphone, sind aber nicht bereit, dafür zusätzliche Kosten zu tragen. Eine Entscheidung für Android als Plattform wird von den Kunden mit Apple Geräten nicht akzeptiert und die iOS Plattform für Apple muss zusätzlich umgesetzt werden. Der Entwicklungsaufwand verdoppelt sich und selbst eine banale Aufgabe, wie zum Beispiel eine mobile Arbeitszeiterfassung für den Außendiensttechniker muss neben der Back Office Lösung für Mitarbeiter im Büro oder auf Laptops zusätzlich noch in 2 anderen Plattformen implementiert werden, bei denen der Quellcode auch nicht plattformübergreifend eingesetzt werden kann.
Bleiben wir beim Beispiel einer mobilen Arbeitszeiterfassung und denken wir über alternative Verfahren nach. Sicherlich gibt es Orte, an denen eine mobile Funkverbindung per Handy nicht immer gewährleistet ist, aber generell kann man in den meisten relevanten Gebieten Westeuropas davon ausgehen, dass eine ausreichend gute Verbindung gewährleistet ist. Im australischen Outback ist das sicherlich anders, aber hier würden wir eine vollwertige replizierte Datenbank auf einem Laptop einsetzen, um auch sehr große Datenmengen jederzeit vor Ort im Zugriff zu haben.
Im Rahmen unseres Bootcamps "Datenbankwebapplikationen mit Firebird" zeigen wir Ihnen innerhalb von 2 Tagen das gesamte Know-how, um Daten aus einer Firebird Datenbank über einen Apache Webserver auf Windows- oder Linux Basis mit minimalen PHP Kenntnissen zu visualisieren.
Eine Anmeldung des Mobilgeräts kann per URL fest vergeben werden oder die individuelle Sicht auf die zugeordneten Daten erfolgt interaktiv per Username und Password. So kann die Beispielanwendung "Mobile Zeiterfassung" direkt dem Benutzer des Mobilgeräts zugeordnete Aufträge zur Auswahl anzeigen und Fehleingaben wie Buchungen auf falsche Aufträge minimieren.
Einfache Kontrollelemente, in der Delphi Welt als TLabel, TEdit, TMemo, TCombobox, TButton, TListbox, etc. bekannt, werden durch die in Firebird Stored Procedures implementierten Logikanweisungen entsprechend der Anforderungen in der Webseite aufgenommen und durch Daten aus der Datenbank gefüllt. Der Anwender kann entsprechend der Aufgabe nun Zahlen oder Zeichenfolgen erfassen oder einfach eine Start oder Stop Buchung durch einen einfachen Klick auslösen.
Die Daten, die sich daraus ergeben, werden vom Apache/PHP Script wieder zurück in die Firebird Datenbank geschrieben. Diese können jederzeit via Trigger und Events im Backoffice Nachrichten erstellen und den Sachbearbeiter auf neue, mobil erfasste Daten hinweisen oder vollautomatisiert in Sammelrechnungen übernommen werden.
Sie haben keine PHP Erfahrung? Kein Problem, das benutzte PHP Script hat nur ca. 30 Zeilen und wird während der gesamten Schulung nur an ganz wenigen Stellen geändert.
Ihnen fehlen die Basiskenntnisse für die HTML Kontrollelemente? Wir vermitteln Ihnen im Rahmen des Bootcamps alle erforderlichen Basiskenntnisse, so dass Sie, sofern erforderlich, jederzeit durch eine spätere Recherche im Internet diese Kenntnisse erweitern können.
Sie haben noch nie einen Apache Webserver auf Windows oder Linux mit PHP oder den Zugriff von PHP auf Firebird eingerichtet? Auch dieser Punkt ist ein Bestandteil unseres Bootcamps. Wir richten gemeinsam einen virtuellen Windows Server ein. Dieser Server kann bei Hosteurope in genau dieser Konfiguration für 9,90 im Monat gemietet werden.
Wie bekommt man zeitnah die Daten von der lokalen Datenbank auf die Firebird Datenbank auf dem virtuellen Server, ohne sämtliche Daten dort zu lagern und im Fall einer fehlerhaften Konfiguration öffentlich verfügbar zu haben? Wir erklären die wichtigsten Sicherheitsaspekte einer solchen Firebird Konfiguration und zeigen, wie man im Push/Pull Prinzip Daten in nahezu Echtzeit zwischen einem Kundenserver und dem Server auf der VM austauscht.
Funktioniert das auch, wenn meine Daten lokal gar nicht in Firebird Datenbanken gespeichert werden? Ja, wir zeigen mit IBEScript grundlegende IBEBlock Scripte, mit denen Sie sich mit jeder ODBC-fähigen Datenbank verbinden können um die Daten von dort in die Firebird Datenbank oder aus der Firebird Datenbank zurück in Ihre Plattform zu schreiben.
Wie kann ich mit der Anwendung serverseitig E-Mails versenden und PDFs erzeugen, um zum Beispiel Auftragsbestätigungen automatisch rund um die Uhr zu erzeugen? Wir zeigen wir Ihnen, wie es mit Hilfe der IBEBlock Script serverseitig machbar ist. Wir setzen für IBEscript.exe neben Windows auch Linux mit Wine ein.
(German-language version below)
The Firebird 3 Bootcamp is for admins and developers who have been actively working with Firebird for at least 2 years. The focus is on upgrading to Firebird 3 and optimization of your own database environment (also for Firebird 2.x). You can expect interesting talks covering all aspects of Firebird, IBExpert, Lazarus and Delphi development. The focus is on the practical application of the technologies and methods presented, which can also be implemented with other programming languages.
Benefit from the knowledge of the IBExpert database experts.
Das Firebird 3 Bootcamp wendet sich an Admins und Programmierer, die mindestens 2 Jahre aktiv mit Firebird arbeiten. Dabei konzentrieren wir uns auf den Umstieg auf Firebird 3 und die Optimierung der eigenen Datenbank-Umgebung (auch für Firebird 2.x). Es erwarten Sie interessante Themen rund um die Entwicklung mit Firebird, IBExpert, Lazarus und Delphi. Der Fokus liegt dabei konsequent auf dem praktischen Einsatz der vorgestellten Technologien und Methoden, die auch mit anderen Programmiersprachen umgesetzt werden können.
Profitieren Sie vom Wissen der IBExpert Datenbank Experten.
IBExpert Firebird Bootcamps: Was unsere Kunden sagen
(German-language version below)
Firebird Administrator intensive training with emphasis on speed, security and interfaces.
In our Firebird Power Workshop, we focus on the tasks that an administrator needs to perform to effectively run a Firebird server. The aim is to achieve the optimum speed of the hardware and software used, to guarantee maximum operational reliability, and to be optimally prepared for a breakdown by means of a suitable worst-case scenario. We will also concentrate on the independent implementation of simple requirements in the areas of import, export and reporting.
After an introduction to the basic Firebird technology, the most important files and installation versions for Windows and Linux with Firebird versions 2.x and 3.x will be explained.
Firebird Administrator intensiv-Training mit Schwerpunkt auf Geschwindigkeit, Sicherheit und Schnittstellen.
In unserem Firebird Power Workshop konzentrieren wir uns auf die Aufgaben, die ein Administrator für den effektiven Betrieb eines Firebird-Servers erfüllen muss. Ziel ist es, die optimale Geschwindigkeit der eingesetzten Hardware und Software zu erreichen, eine maximale Betriebssicherheit zu gewährleisten, sowie durch ein geeignetes Worst-Case-Szenario für einen Ausfall optimal vorbereitet zu sein. Auch auf die selbstständige Umsetzung einfacher Anforderungen im Bereich Import, Export und Reporting werden wir uns konzentrieren.
Nach einer Einführung über die Basistechnologie werden die wichtigsten Dateien und Installationsversionen für Windows und Linux mit den Firebird Versionen 2.x und 3.x vermittelt.
(German-language version below)
A user-defined function (UDF) is utilized to perform tasks that Firebird can't. It is an external database function written entirely in another language, such as C++ or Pascal, to perform data manipulation tasks that not directly supported by Firebird/InterBase.
As a lot of Firebird-based software developers know, these functions help you to extend the SQL language as required. But on the downside, the binary implementation requires a compiler on the platform where you want to use the Firebird server. A UDF library available for Win64 can neither be used on Win32 nor on Linux.
Up to Firebird 2.5 the UDF was an extremely powerful implementation, but unfortunately also a critical point of failure. If any of your binary code was not as stable as it should be, especially in multi-user environments, it could crash the Firebird server completely. All connected users would be disconnected, and even though the database file itself should not contain a binary error after this happened, any user application had to be restarted. This might not have been such a big problem with the Firebird Classic version, but today, using a binary UDF is no longer recommended.
This was the reason for the Firebird Project to introduce the new and more stable UDR implementation. A UDR appears to be similar to a UDF, but it is loaded in a considerably more stable way on the server process, and an error in the implementation does not typically crash the server.
Since Firebird 3, it is recommended to use a UDR rather than a UDF and, starting with Firebird 4, the use of UDFs is deactivated by default in the firebird.conf file.
A further implementation for the functional extension of Firebird was also introduced with Firebird 3: stored functions. Similar to the UDR/UDF functions, a stored function can be implemented in the same way as it can be when using a stored procedure, but the concept of functions provides only one result based on the specified input params.
As you might know, there are widely-used UDF implementations, which are all too often completely outdated, such as the FreeAdhocUDF library, which has not been changed or improved during the last 12 years. Libraries like rFunc or FreeAdhocUDF often use very high know-how standards but, based on Firebird’s built-in functions such as substring, the parameter structure is not one-to-one compatible. If you want to use your existing Firebird 2.x-based software in a new non-UDF-based Firebird version 3 or 4, you will need a replacement.
For this reason we have developed a complete new set of functions called IBExpertFunctionLibrary.
Your company licenses the source code of the library as it is, but it is only permitted to use this with databases created by your company for internal or customer use.
This includes access to all new versions of the source code and up to 5 new functional implementations for 12 months.
These functional implementations are limited to the language features already possible in the Firebird language. External software required for the implementation, such as DLLs/SO or other libraries, are not covered by this, but on request, this can also be implemented.
IBExpertFunctionLibrary Enterprise Maintenance Subscription: EUR 990.00
The current version 1.0 already basically covers almost all of the functions currently available in FreeAdhocUDF and rFunc. Some functions cannot be implemented or it no longer make any sense to implement them, but these will be available as empty non-functional prototypes, so that a call will not result in an error.
Wie viele Firebird Softwareentwickler wissen, helfen Ihnen diese Funktionen dabei, die SQL-Sprache nach Bedarf zu erweitern. Der Nachteil ist jedoch, dass die binäre Implementierung einen Compiler auf der Plattform erfordert, auf der Sie den Firebird Server verwenden. Eine UDF-Bibliothek, die für Win64 verfügbar ist, kann weder unter Win32 noch unter Linux verwendet werden.
Bis zu Firebird 2.5 war die UDF eine extrem leistungsfähige Implementierung, aber leider auch ein kritischer Fehlerpunkt. Wenn einer Ihrer Binärcodes nicht so stabil war, wie er sein sollte, insbesondere in Mehrbenutzerumgebungen, konnte er den Firebird Server komplett zum Absturz bringen. Alle Client-Verbindungen wurden getrennt, und obwohl die Datenbankdatei selbst keinen Binärfehler enthalten sollte, musste jeder Client neu verbunden werden. Dies mag in der Firebird Classic Version kein so großes Problem gewesen sein, aber heute wird die Verwendung einer binären UDF nicht mehr empfohlen.
Dies war der Grund für das Firebird Projekt, die neue und stabilere UDR-Implementierung einzuführen. Eine UDR scheint einer UDF ähnlich zu sein, aber sie wird auf eine wesentlich stabilere Art und Weise in den Serverprozess geladen, und ein Fehler in der Implementierung führt normalerweise nicht zum Absturz des Servers.
Seit Firebird 3 wird empfohlen, eine UDR statt einer UDF zu verwenden und ab Firebird 4 ist die Verwendung von UDFs in der Datei firebird.conf standardmäßig deaktiviert.
Eine weitere Implementierung für die funktionale Erweiterung von Firebird wurde ebenfalls mit Firebird 3 eingeführt: Stored Functions. Ähnlich wie die UDR/UDF-Funktionen kann eine Stored Function auf die gleiche Weise wie eine Stored Procedure implementiert werden, aber das Konzept der Funktionen liefert nur ein Ergebnis basierend auf den angegebenen Eingabeparametern.
Wie Sie vielleicht wissen, gibt es weit verbreitete UDF-Implementierungen, die allzu oft völlig veraltet sind, wie z. B. die FreeAdhocUDF-Bibliothek, die in den letzten 12 Jahren weder geändert noch verbessert wurde. Bibliotheken wie rFunc oder FreeAdhocUDF verwenden oft sehr hohe Know-How-Standards, aber, basierend auf Firebirds eingebauten Funktionen wie z.B. substring, ist die Parameterstruktur nicht eins-zu-eins kompatibel. Wenn Sie Ihre bestehende Firebird 2.x-basierte Software in einer neuen, nicht UDF-basierten Firebird Version 3 oder 4 verwenden möchten, benötigen Sie einen Ersatz.
Aus diesem Grund haben wir einen komplett neuen Satz von Funktionen mit dem Namen IBExpertFunctionLibrary entwickelt.
Ihr Unternehmen lizenziert den Quellcode der Bibliothek, wie er ist, aber es ist nur erlaubt, diesen mit Datenbanken zu verwenden, die von Ihrem Unternehmen für den internen oder Kundengebrauch erstellt wurden.
Dies beinhaltet den Zugriff auf alle neuen Versionen des Quellcodes und bis zu 5 neue Funktionsimplementierungen für 12 Monate.
Diese funktionalen Implementierungen sind auf die Sprachfeatures beschränkt, die bereits in der Firebird-Sprache möglich sind. Externe Software, die für die Implementierung benötigt wird, wie z.B. DLLs/SO oder andere Bibliotheken, sind davon nicht abgedeckt, können aber auf Anfrage ebenfalls implementiert werden.
Die aktuelle Version 1.0 deckt im Grunde bereits fast alle Funktionen ab, die derzeit in FreeAdhocUDF und rFunc verfügbar sind. Einige Funktionen können nicht implementiert werden oder es macht keinen Sinn mehr, sie zu implementieren, aber diese werden als leere nicht-funktionale Prototypen verfügbar sein, so dass ein Aufruf nicht zu einem Fehler führt.