Application development using Google Apps Script

  • Published on
    23-Jan-2018

  • View
    365

  • Download
    1

Transcript

<ol><li> 1. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Advanced Software Engineering Vorlesung 01.04.2016 : Anwendungsentwicklung mit Dr. Andreas Walter Google Apps Script mail@awalter.info </li><li> 2. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Anwendungsentwicklung mit Google Apps Script Inhaltsverzeichnis - Einleitung: Generelle Arten der Anwendungsentwicklung - Einsatzbeispiele fr Google Apps Script - Use-Case: Verwaltung von Buchungen einer Ferienwohnung - Getting Started: Implementierungsbeispiele mit Google Apps Script - Aufgaben fr Praktikum Anwendungsentwicklung mit Google Apps Script2 01.04.2016 </li><li> 3. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Einleitung: Generelle Arten der Anwendungsentwicklung Grad der Verteilung von Diensten nach Intranet und Cloudanwendungen - Intranet: Ressourcen sind in internem Firmennetz - Cloud: Ressourcen sind ber Internet, zumeist als Clouddienst verfgbar (Amazon AWS, Microsoft Azure, Google Cloud) Alles Lokal (Intranet) hchste Sicherheitsanforderungen, z.b. Banken - Datenbank, Dienste lokal - Lokale Entwicklungsumgebung und Ausfhrung Hybrid (Intranet &amp; Cloud) hohe Sicherheitsanforderungen, z.B. Krankenhuser (Patientendaten lokal, Statistiken zentral) - Einige Dienste in Cloud (z.B. Abrechnungsdaten) - Datenbank im Intranet - Lokale Entwicklungsumgebung und Ausfhrung Anwendungsentwicklung mit Google Apps Script3 01.04.2016 </li><li> 4. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Generelle Arten der Anwendungsentwicklung (2) Hybrid mit lokaler Ausfhrung (Cloud) webbasierte Spiele - z.b. Dienste in Cloud, Datenbank in Cloud - Lokale Ausfhrung, z.b. Spiel mit hohen Anforderungen an Grafikkarte Cloud Only Webanwendungen (public, einfache Skalierbarkeit) - Browser zur Ausfhrung der Anwendung - Browser zum Zugriff auf Entwicklungsumgebung - Dienste und Datenhaltung in der Cloud Google Apps Script: nutzt Cloud-Umgebung von Google wenig Installationsaufwand, komfortable Entwicklung webbasierter Anwendungen, Leistungsfhige Cloudumgebung zur Ausfhrung der Anwendungen. Anwendungsentwicklung mit Google Apps Script4 01.04.2016 </li><li> 5. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Google Apps Script: bersicht Anwendungsentwicklung mit Google Apps Script5 01.04.2016 - Erlaubt die Erstellung von (Web)Anwendungen unter Verwendung von JavaScript. - Erweiterung von Google Anwendungen und eigene Mens in Google Anwendungen - Automatisierung zwischen Google Diensten und zu externen Diensten - Einbindung in Google Sites (Komponenten einer Webseite) - Speichern von Daten / Dateien in Google Drive - Code wird mit Hilfe einer browserbasierten Entwicklungsumgebung erstellt, getestet und publiziert https://www.google.com/script/start/ </li><li> 6. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 EINSATZBEISPIELE FR GOOGLE APPS SCRIPT Google Apps Script Anwendungsentwicklung mit Google Apps Script6 01.04.2016 </li><li> 7. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Add-Ons fr Google Anwendungen Add-Ons erweitern den Funktionsumfang bestehender Anwendungen. Vergleichbar mit Macros in Microsoft Office Beispiel: ein ausgewhlter Text soll automatisch von Google Translate bersetzt werden - Google Translate: Textbersetzung von ausgewhlter Sprache in Zielsprache - Technik: webbasierte Formulare (HTML, POST Requests) Anwendungsentwicklung mit Google Apps Script7 01.04.2016 </li><li> 8. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Eigene Mens in Google Anwendungen Eigene Mens erlauben zustzliche Methoden, z.B. Berechnungen Beispiel: Eigenes Men zur Berechnung anderer Maeinheiten - Zustzliches Men in Google Sheets, erlaubt Umrechnung von Meter Meilen, schreibt Ergebnis in neue Zelle - Technik: Auslesen von Tabellenzellen und Schreiben neuer Werte Anwendungsentwicklung mit Google Apps Script8 01.04.2016 </li><li> 9. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Auswertungen von Formularen Anwendungsentwicklung mit Google Apps Script9 01.04.2016 Formulare erlauben das strukturierte Sammeln von Daten zur spteren Auswertung Beispiel: Sammeln von Vortragsthemen fr eine Konferenz Technik: - Google Forms zur Abfrage von Daten wie Vortragstitel, Startzeit - Google Apps Script zur Auswertung - API zu Google Calendar zum Erstellen von Termineintrgen </li><li> 10. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Automatisierung in Google Anwendungen Regelmig ausgefhrte Tasks erlauben die Automatisierung von umfangreichen Ablufen. Beispiel: Erstellung von Statistiken zu empfangenen Emails Technik - Geplante Tasks starten die Ausfhrung der Anwendung, hier am Monatsanfang - Auslesen von Emails in Gmail - Schreiben von Statistikdaten Sheets - Erstellung von Charts auf Basis der Tabellendaten Anwendungsentwicklung mit Google Apps Script10 01.04.2016 </li><li> 11. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Automatisierung zwischen Google Anwendungen Anwendungen, welche mehrere Google Dienste verwenden, z.B. Gmail zum Emailversand, Google Sheets zur Speicherung von Daten http://googleappsdeveloper.blogspot.de/2012/04/approval-workflow-using-apps-script.html Beispiel Zustimmung zu bestimmten Vorgngen durch Vorgesetze und Kommissionen Technik - Automatisches lesen und versenden von Emails - Anzeigen von Formularen - Automatisches Speichern von Formulareingaben in Google Sheets Anwendungsentwicklung mit Google Apps Script11 01.04.2016 </li><li> 12. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Automatisierung zu Externen Diensten Daten werden in Google Anwendungen gesammelt, z.B. Formularen. Nach Eingabe werden diese zu externen Anwendungen bertragen. Beispiel: senden von Formulareingaben zu Salesforce Technik - Events: Ereignisse knnen zeitgesteuert oder nach einem Ereignis wie eingehenden Formularen ausgelst werden - bertragen von Formulardaten zu externer REST Schnittstelle http://googleappsdeveloper.blogspot.de/2012/03/integrating-google-docs-with.html Anwendungsentwicklung mit Google Apps Script12 01.04.2016 </li><li> 13. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Speicherung von Daten / Dateien Google Apps Script verwendet zur Datenhaltung den Dienst Google Drive (Cloudbasierter Datenspeicher). Daten knnen einfach geschrieben und gelesen werden Anwendungsentwicklung mit Google Apps Script13 01.04.2016 </li><li> 14. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 USE-CASE: VERWALTUNG VON BUCHUNGEN EINER FERIENWOHNUNG Google Apps Script Anwendungsentwicklung mit Google Apps Script14 01.04.2016 </li><li> 15. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Use Case Beschreibung Buchungen Eine Ferienwohnung publiziert ihr Angebot zu verfgbaren Buchungskapazitten bei Buchungsportalen wie booking.com, airbnb.com, traum-ferienwohnungen.de etc. - Eingehende Buchungen von den Portalen werden per Email gemeldet. - Buchungen sollen automatisch ausgelesen werden und strukturiert gespeichert werden. - Dem Gast soll eine Buchungsbesttigung geschickt werden. Dem Betreiber eine Email mit einer Zusammenfassung zur Buchung. - 14 Tage vor Anreise sollen dem Gast Informationen rund um die Anreise und den Attraktionen rund um die Ferienwohnung geschickt werden. - Ein Tag vor Anreise soll dem Betreiber automatisch eine Email mit Rechnung, Quittung und Anreiseinformationen fr den Gast gesandt werden. . Anwendungsentwicklung mit Google Apps Script15 01.04.2016 </li><li> 16. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 1) Automatisches Auslesen von Buchungen aus Portalen Portal hier: booking.com. Kunde bucht bei Booking.com, Booking.com schickt Email an Betreiber. Anwendungsentwicklung mit Google Apps Script16 01.04.2016 </li><li> 17. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 2) Automatisches Auslesen der Buchungsdetails Pro Buchung stellt booking.com die Buchungsdetails bereit Anwendungsentwicklung mit Google Apps Script17 01.04.2016 </li><li> 18. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Ausfhrung durch Apps Script 1) Task liest regelmig Gmail Emails (alle 10 Minuten) 2) Sobald eine Email mit Betreff Booking.com - Eine neue Buchung! des Absenders noreply@booking.com vorliegt, wird diese gelesen 3) Ein HTML Parser ( Teil von Apps Script ) liest den in Email enthaltenen Link. ber regulre Ausdrcke findet der Parser wichtige Informationen in der Seite (Name des Buchers, Anreise, Abreise) 4) Die Buchungsinformationen werden in Google Sheets geschrieben (getrennt nach Buchungsdaten und Kundendaten) 5) Eine Email wird an den Buchenden geschickt, um die Buchung zu besttigen und weitere Informationen zur Bezahlung zu senden 6) Dem Betreiber wird eine Email zugestellt, um die Buchung direkt anzuzeigen (ohne sich erst auf Booking.com einloggen zu mssen) 7) 14 Tage vor Anreise (per Tasks) wird dem Buchenden eine Email mit Informationen zur Buchung geschickt 8) Ein Tag vor Anreise wird Rechnung an Betreiber per PDF geschickt Anwendungsentwicklung mit Google Apps Script18 01.04.2016 </li><li> 19. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 3) Schreiben von Buchungsdaten in Google Sheets Anwendungsentwicklung mit Google Apps Script19 01.04.2016 </li><li> 20. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 4) Automatisches Erstellen von Rechnungen - Ein tglich gestarteter Task prft, ob am nchsten Tag eine Anreise ist - Falls ja, werden die Buchungsdaten aus den entsprechenden Sheets gelesen. - Eine Vorlage in Google Docs wird geladen und die entsprechenden Buchungsdaten eingefgt. - Aus dem Dokument wird automatisch ein PDF generiert und an Betreiber geschickt - ber ein externes SMS Gateway bekommt Kunde eine SMS geschickt, um nach der geplanten Anreisezeit zu fragen. Anwendungsentwicklung mit Google Apps Script20 01.04.2016 </li><li> 21. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Use Case Beschreibung Buchungskalender Der Buchungskalender soll die vorhandenen Buchungen in bersichtlicher Form darstellen. - Zu jedem Kalendertag soll die Verfgbarkeit angezeigt werden - Fr verfgbare Tage sollen die Raten angezeigt werden. Es muss mglich sein, fr bestimmte Tage Saisonraten zu hinterlegen mit hheren Preisen - Fr Tage mit Buchungen muss durch einfachen Klick auf den Tag angezeigt werden, welcher Gast gebucht hat Anwendungsentwicklung mit Google Apps Script21 01.04.2016 </li><li> 22. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Buchungskalender Ein stndlich gestarteter Task liest alle Buchungen aus Buchungstabelle. Ein weiteres Sheet Kalender wird aktualisiert mit den Informationen zur Verfgbarkeit. Anwendungsentwicklung mit Google Apps Script22 01.04.2016 </li><li> 23. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Buchungsdetails Jede Buchung ist verlinkt zu einer Buchungsdetailseite. Technik: Buchungsdetailseite ist eine Webanwendung. Als HTTP GET Parameter nimmt sie BuchungsId entgegen. Intern wird die Buchung geladen und als Webseite angezeigt. Anzeige ber Google Web Toolkit Funktionalitten Anwendungsentwicklung mit Google Apps Script23 01.04.2016 </li><li> 24. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Use Case Beschreibung: Webseite zur Ferienwohnung Die Ferienwohnung soll durch eine Webseite im Internet gezeigt werden. - Die Webseite soll die Verfgbarkeiten des aktuellen und des nchsten Tages auf der Webseite anzeigen - Ein Buchungsformular soll es ermglichen, Verfgbarkeiten anzuzeigen - Die aktuellen Preise sollen auf der Webseite angezeigt werden - Zustzlich weitere statische Seiten wie Bilder, Informationen, etc. Anwendungsentwicklung mit Google Apps Script24 01.04.2016 </li><li> 25. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Webseite: Anzeige Verfgbarkeiten heute / morgen Webseite: www.apartment-baden.com Anwendungsentwicklung mit Google Apps Script25 01.04.2016 </li><li> 26. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Webseite: Anzeige Verfgbarkeiten / Buchung Anwendungsentwicklung mit Google Apps Script26 01.04.2016 </li><li> 27. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Webseite - Technik - Webseite luft auf eigenem Webserver - Servlet-Container mit REST Service wird ber einen Task stndlich von Apps Script aufgerufen die aktuellsten Verfgbarkeiten und Preise werden bertragen. Servlet generiert aus neuesten Daten statische HTML Seiten der Homepage. - REST Service in Apps Script erlaubt Eingabeparameter wie Anreise / Abreisedatum und Anzahl Personen. Service prft Verfgbarkeit und gibt entsprechend Preise zurck. - Webseite: JQUERY zur Anfrage des REST Services per AJAX Request nach Preisen, automatische Aktualisierung der Webseite - CSS / JQUERY zur korrekten Skalierung der Webseite je nach Gert (Responsive Web Design) Anwendungsentwicklung mit Google Apps Script27 01.04.2016 </li><li> 28. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Use Case Beschreibung: Portal fr Betreiber Dem Betreiber soll eine webbasierte Portalseite zur Verfgung gestellt werden. - Der Betreiber soll Zugriff auf den Buchungskalender haben - Ein Buchungsformular soll den Eintrag neuer Buchungen erlauben - Statistiken sollen zeigen, wie sich Buchungen nach Monaten verteilen - Das Portal soll zeigen, wie hufig die Webseite besucht wird - Falls AdWords auf Suchmaschine gebucht werden, soll gezeigt werden, wie hufig diese geschalten wurde und mit welchen Suchbegriffen - Ein Dashboard soll einen schnellen berblich zum erzielten Umsatz und den nchsten Buchungen geben. Anwendungsentwicklung mit Google Apps Script28 01.04.2016 </li><li> 29. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Google Sites: Portalbasierte Webseiten erstellen https://www.google.com/sites/overview.html Google Sites erlaubt die Erstellung von Webseiten. Ein Content Management System erlaubt die Pflege einzelner Seiten Jede Seite kann wahlweise mit statischen Inhalt, aber auch mit dynamischem Inhalt gefllt werden. Dynamische Inhalte knnen publizierte Sheets sein, aber auch mit Apps Script erstellte Webseiten Anwendungsentwicklung mit Google Apps Script29 01.04.2016 </li><li> 30. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Dashboard Dashboard enthlt Komponenten, die aus Sheets publiziert wurden. Jedes Sheet kann als Webkomponente publiziert werden. Es aktualisiert seinen Inhalt dann automatisch nach nderungen Anwendungsentwicklung mit Google Apps Script30 01.04.2016 </li><li> 31. Advanced Software Engineering Hochschule Pforzheim - Sommersemester 2016 Publiziertes Sheet Buchungskalender Komplettes Sheet Buchungskalender als Webkomponente publiziert Anwendungsentwicklung mit Google Apps Script31 01.04.2016 </li><li> 32. Advanced Softwar...</li></ol>