Customizing, Erweiterung und Integration von Cloud-Anwendungen – Beispiel Salesforce.com

Die Anpassungs-, Erweiterungs- und Integrationsfähigkeit von Cloud-Anwendungen ist in komplexen Unternehmens-Szenarios einer der wesentlichen Erfolgsfaktoren für den potenziellen Einsatz einer Cloud-Lösung. Im Unternehmens-Kontext ist i.d.R. immer eine Anpassung an Spezifika des Unternehmens, eine Erweiterung um notwendige Zusatzfunktionalitäten oder eine Integration mit anderen Systemen notwendig (siehe auch ein früherer Artikel).

Der Platzhirsch im Cloud-CRM-Umfeld Salesforce.com ist auch in den Bereichen Anpassungs- / Erweiterungs- und Integrationsfähigkeit der Maßstab, an dem sich andere Mitbewerber orientieren müssen / sollten. Durch die integrierte, ebenfalls Cloud-basierte Entwicklungsumgebung (ehemals Force.com) können eine Vielzahl von Entwicklungsaktivitäten durchgeführt werden (ohne Anspruch auf Vollständigkeit):

  • Adaption oder Erweiterung der vorhandenen Masken bzw. Datenmodelle
  • Entwicklung von eigenen Mini-Applikationen (in der Anwendung i.d.R. als neues Tab integriert)
  • Aufruf der Salesforce API aus anderen Applikationen (über SOAP / REST)
  • Aufruf von fremden APIs
  • Entwicklung von mobilen Komponenten
  • Nutzung von Applikationen / Komponenten aus dem App-Marktplatz Salesforce Appexchange
  • Entwicklung  und Vermarktung von Applikationen / Komponenten auf Appexchange

Ein Teil der Aktivitäten (v.a. die Adaption von Datenmodellen und Masken) kann ohne Programmierung durchgeführt werden, für komplexere Aufgaben muss i.d.R. die interne Programmiersprache APEX eingesetzt werden.

Die Trial-Version kann kostenlos evaluiert werden … es stehen eine Reihe von netten Tutorials sowie eine umfangreiche Dokumentation zur Verfügung.

Wenn Sie ähnlich fortgeschrittene integrierte Entwicklungsumgebungen für Cloud-Anwendungen kennen, können Sie diese gerne als Kommentar verlinken oder eine Mail an mich senden …

Salesforce Cloud Entwicklungsumgebung
Salesforce Cloud-Entwicklungsumgebung

Oliver Höß

Nicht besser, sondern nur anders … ein Plädoyer für mehr Kontinuität in der Softwareentwicklung

Es ist nicht gesagt, dass es besser wird, wenn es anders wird.
Wenn es aber besser werden soll, muss es anders werden.
Georg Christoph Lichtenberg

Dies ist eines meiner Lieblingszitate und wird Georg Christoph Lichtenberg zugeschrieben. Es besagt, dass man für Veränderungen bereit sein muss, wenn man Verbesserungen erreichen möchte. Dabei muss man auch für Risiken offen sein, da nicht jede Änderung immer zu einer Verbesserung führt.

Es sollte jedoch nicht derart missverstanden werden, dass Änderungen um der Änderung willen durchgeführt werden sollten und Etabliertes / Bewährtes ohne triftigen Grund anders gemacht werden sollte, ohne eine wesentliche Verbesserung zu erzielen.

Ein (nicht ganz) fiktives Beispiel aus der Softwarebranche: Ein sehr weit verbreitetes Software-Paket, das u.a. eine Textverarbeitung und Tabellenkalkulation enthält, wird in einer neuen Version herausgebracht, bei dem grundlegende Bedienkonzepte geändert werden. Im Vergleich zu alten Versionen sind jetzt eine Vielzahl von unterschiedlichen Menü-Arten vorhanden und auch die einzelnen Menü-Punkte sind auf eine auf den ersten Blick schwer nachvollziehbare Art angeordnet. Kurz: vieles ist anders, aber nicht unbedingt besser … Dies führt dazu, dass die Millionen bestehender Nutzer einen sehr hohen Einarbeitungsaufwand haben und ihre Produktivität erst einmal absinkt.

Hier wäre ein wenig mehr Kontinuität angebracht, aber natürlich steht ein Produktmanager unter einem gewissen Druck, revolutionäre Neuerungen herauszubringen, wenn er eine neue Version einer Software konzipieren soll. Oftmals ist aber eine schrittweise Evolution, bei der Bewährtes / Etabliertes beibehalten wird, besser als eine Revolution.

Die gleiche Argumentation ist auch für andere Bereiche, z.B. für das IT-Consulting oder auch die Politik, gültig, das würde aber den Fokus des Beitrags sprengen …

Georg Christoph Lichtenberg - Deutscher Physiker und Mathematiker
Georg Christoph Lichtenberg – Deutscher Physiker und Mathematiker

Oliver Höß

IT-Sicherheit … wo soll das noch enden ?

Gestern fand an der Hochschule für Technik der Informatiktag 2014 statt … wie jedes Jahr wurden dem interessierten Fachpublikum (u.a. ProfessorInnen sowie aktuelle und ehemalige Studierende der Informatik, Wirtschaftsinformatik und Software Technology) nach einer Begrüßung durch den Rektor Professor Franke und den Prodekan der Fakultät C Professor Heusch wieder spannende Vorträge geboten. Themen waren u.a. IT in der Medizin, Social Media Monitoring und IT-Sicherheit / Live-Hacking. Abschließend wurden hervorragende Studierende der (Wirtschschafts-) Informatik durch die Firma NovaTec mit dem NovaTec-Förderpreis ausgezeichnet.

Besonders der Vortrag zum Thema IT-Sicherheit / Live-Hacking von Hr. Steglich von der SySS Gmbh aus Tübingen machte mich schon ein wenig nachdenklich … es wurden unterschiedliche Angriffsmethoden in Form eines „Live-Hacking“ unter Verwendung von unterschiedlichen Hacking-Tools vorgeführt. U.a. waren dies SQL-Injection, Cross-Site-Scripting, Man-in-the-Middle-Attacken, Software-Exploits und Hardware-Angriffe. Besonders interessant ist, dass auch das im Online-Banking relativ weit verbreitete mTAN-Verfahren durch Kompromittierung der beiden Kanäle (Zugangsrechner und Smartphone) relativ leicht ausgetrickst werden kann, insbesondere bei aktuellen Smartphones, auf denen teilweise leichtfertig bösartige Apps installiert werden.

Während das kundige Fachpublikum evtl. noch die Chance hat, sich durch tiefergehende Kenntnisse vor Angriffen zu schützen, frage ich mich, ob der „normale“ IT-Anwender hiermit nicht völlig überfordert ist …

In diesem Umfeld müssen sicherlich alle Kräfte zusammenarbeiten. Ausgehend von der Ausbildung / Lehre über die Unternehmen bis hin zu den Ermittlungs- und Strafverfolgungsbehörden, da derartige Hacker-Angriffe keine Kavaliersdelikte sind und auch entsprechend rechtlich verfolgt werden müssen, insbesondere auch grenzüberschreitend. Auch müssen m.E. alle Bezahlverfahren systematisch auf Lücken untersucht werden und unsichere Verfahren eliminiert werden … evtl. sollte man da mit dem Kreditkartenverfahren im Internet anfangen 🙂

Ein weites Themenfeld, über das es in Zukunft (leider) noch viele Diskussionen geben wird …

Embed from Getty Images

Oliver Höß

Top IuK-Regionen in Europa – Süddeutschland ist gut vertreten …

Die Europäische Kommission hat im Rahmen der Erstellung eines IuK-Atlas eine Studie durchgeführt, in der besonders erfolgreiche IT- bzw. IuK-Regionen in Europa identifiziert wurden.

Erfreulich ist, dass viele deutsche Regionen in der Spitzengruppe zu finden sind, z.B. München (Platz 1), Karlsruhe (Platz 4), Darmstadt (Platz 7).

Erfreulich ist aus meiner Sicht auch, dass Stuttgart noch in der Spitzengruppe (immerhin Platz 21) vertreten ist … nach meinem schwäbischen Bauchgefühl müsste die Platzierung natürlich besser sein 🙂

Update: Bei genauerer Betrachtung der Abbildung und Abgleich mit dem Ranking fällt auf, dass der Ersteller der Grafik einige Städte (z.B. Berlin) in der Abbildung einfach weggelassen hat … vielleicht habe ich es aber auch nicht richtig verstanden 🙂

Wenn man natürlich die Städte des Software-Clusters (u.a. Karlsruhe, Darmstadt, Saarbrücken, Kaiserslautern, Frankfurt, Heidelberg/Mannheim/Walldorf, Frankfurt, …) zusammenzählt, wird dies wahrscheinlich die Spitzenposition ergeben …

Das Ranking kann hier abgerufen werden. Details der zugrunde liegenden Studie finden Sie hier.

European ICT Hubs (Quelle: http://europa.eu/rapid/press-release_IP-14-435_de.htm)
European ICT Hubs (Quelle: http://europa.eu/rapid/press-release_IP-14-435_de.htm)

Oliver Höß

Future Business Clouds – Positionspapier von acatech zum Cloud-Computing in Deutschland

Die Deutsche Akademie der Technikwissenschaften (acatech) hat in Zusammenarbeit mit dem OFFIS-Institut der Uni Oldenburg  im März 2014 ein Positionspapier „Future Business Clouds – Cloud Computing am Standort Deutschland“ herausgebracht, in dem Thesen und Handlungsempfehlungen für dieses Wichtige Thema mit Fokus auf Deutschland formuliert werden.

Aus meiner Sicht ein wichtiges Dokument, insbesondere für diejenigen, die sich mit dem Thema Cloud aus Forschungssicht beschäftigen.

Prinzipiell gehe ich mit diesem Dokument konform, eine Anmerkung möchte ich mir dennoch erlauben. Es geht um die im Dokument mehrfach erwähnte Analogie, dass IT-Leistungen „ähnlich wie Wasser und Strom“ zu beziehen sind. Dies ist zwar eine nette Zielvorstellung, vereinfacht die Realistät jedoch m.E. ein wenig zu stark.

Bei Strom ist es irrelevant, von welchem Anbieter er ist und ich kann den Anbieter häufig wechseln, um z.B. Kostenvorteile zu realisieren. Bei einem Wechsel eines IT/Cloud-Anbieters werden dabei i.d.R. immer erhebliche Migrationsaufwände anfallen. Bei Wasser kann ich sogar die Produkte von mehreren Anbietern in einem „Behälter“ mischen … das ist bei IT/Cloud-Diensten auch nicht so einfach möglich (siehe ein früherer Artikel zum Thema Integration von Cloud-Diensten). Dass auch der Handel von IT/Cloud-Leistungen nicht so einfach ist, wie der Handel mit fungiblen Gütern, wurde ebenfalls in enem früheren Artikel zur Cloud-Börse DB Cloud Exchange dargestellt (diese ist lt. Webseite nun in einem Beta-Trial).

Hier gibt es also noch eine Vielzahl von Herausforderungen zu bewältigen, was ja auch durchaus der Gesamtaussage des Positionspapiers entspricht …

Future Business Clouds - Positionspapier von acatech
Future Business Clouds – Positionspapier von acatech

Oliver Höß

Crowdhunter – Personalvermittlung im Web 2.0

In den Weiten des WWW bzw. Web 2.0 gibt es immer wieder neue interessante Seiten und Geschäftsmodelle zu entdecken.

Ein Beispiel ist das StartUp www.crowdhunter.com, das das Konzept des Headhunting mit dem Konzept des Crowdsourcing verbindet.

Unternehmen können dort Stellenangebote inkl. einer Vermittlungsprämie einstellen. Personen, die passende Bewerber kennen und empfehlen, können diese Prämie verdienen. Dabei kann sowohl der potenzielle Kandidat über einen Link eingeladen werden, als auch ein „anonymer“  Hinweis auf potenzielle Kandidaten gegeben werden.

Besonders interessant ist es, dass ein großer Teil der Stellenangebote im (Wirtschafts-) Informatik-Umfeld zu finden ist, was zeigt, dass der Fachkräftemangel bzw. das Vermittlungsproblem in der IT-Branche besonders ausgeprägt ist.

Es wird sich zeigen, ob das Geschäftsmodell erfolgreich ist. Es hat aus meiner Sicht ein großes Potenzial, aber es gibt auch ein paar Fallstricke.

Es würde mich freuen, wenn sich Personen, die bereits Erfahrungen mit dieser Plattform (als Einsteller von Angeboten, als Vermittler oder als kontaktierter Kandidat) bei mir per Mail oder im Kommentarbereich melden würden und ihre Erfahrungen schildern könnten.

Crowdhunter - Personalvermittlung im Web 2.0
Crowdhunter – Personalvermittlung im Web 2.0

Oliver Höß

Bootstrap – Ein Framework für Responsive Webpages

Webseiten sollten heutzutage nicht nur auf dem Desktop gut aussehen, sondern auch auf mobilen Endgeräten unterschiedlicher Größe (z.B. Tablet oder Smartphone). Wenn sich die Darstellung einer Webseite automatisch an die Größe des Bildschirms des Endgeräts anpasst, spricht man von „Responsive Webpages“.

Ein interessantes Framework in diesem Bereich ist Bootstrap, das ursprünglich von Twitter entwickelt wurde. Durch eine umfangreiche CSS und JavaScript-Bibliothek ist es relativ einfach, ansprechende responsive Webseiten zu gestalten, die beispielsweise Navigationsleisten enthalten, die je nach Bildschirmgröße in ein Dropdown-Menü „kollabieren“ (siehe Abbildung). Die verwendeten CSS-Dateien können auch angepasst bzw. konfiguriert werden (dazu wird u.a. auch eine separate Sprache LESS verwendet, die vor der Verwendung in CSS compiliert werden muss).

Ich selbst habe heute meine erste kleine Bootstrap-Seite gemacht (Codeenvy als Cloud-Editor und Google App Engine als Ablaufumgebung).

Mein Fazit: Es tut irgendwie, aber ich werde in diesem Leben kein Web / Javascript -Frontendentwickler mehr 🙂

Für erfahrene Frontendentwickler sicher eine gute Sache … es ist eines der beliebtesten Projekte auf GitHub.

Responsive Seiten mit Bootstrap
Responsive Seiten mit Bootstrap

Oliver Höß

Digitaler Darwinismus – Interessantes Buch mit Denkanstößen

„Es ist nicht die stärkste Spezie, die überlebt, auch nicht die intelligenteste,
es ist diejenige, die sich am ehesten dem Wandel anpassen kann.“

Charles Darwin

Dieses Zitat von Charles Darwin hat auch für Unternehmen in heutiger Zeit eine wichtige Bedeutung. Die Organisationen, die den aktuellen Wandel zur Digitalen Gesellschaft (inkl. eCommerce, eBusiness, Web 2.0, Social Media, …) verschlafen, werden vielfach Probleme haben, unter den veränderten Rahmenbedingungen weiterhin erfolgreich zu sein.

Diesem spannenden Themenkomplex widmet sich auch das Buch „Digitaler Darwinismus – Der stille Angriff auf Ihr Geschäftsmodell und Ihre Marke“ von Ralf T. Kreutzer  und Karl-Heinz Land (dem Gründer von Neuland). Das Buch ist explizit als „Think!Book“ gekennzeichnet und bietet immer wieder Anregungen und Denkanstöße, um über das eigene Geschäftsmodell bzw. die eigene Strategie nachzudenken. Desweiteren werden aktuelle Themen, wie z.B. Social Media, Social CRM, Big Data etc. angesprochen und mit Beispielen hinterlegt.

Das Buch ist über die üblichen Plattformen, z.B. Amazon**, erhältlich.

Mitglieder der HFT Stuttgart können das Buch als eBook über die HFT Bibliothek kostenlos durch den Rahmenvertrag mit Springer nutzen.

Buch Digitaler Darwinismus
Buch Digitaler Darwinismus

Oliver Höß

** = Amazon Affiliate-Link (ohne Auswirkung auf den Benutzer)

Integrationsszenarios in der Cloud – es ist nicht immer einfach …

Die Bedeutung von Cloud / SaaS – Angeboten nimmt für Unternehmen immer weiter zu. Solange die Anforderungen durch eine einzelne, dedizierte Cloud-Anwendung erfüllbar sind, ist der Einsatz von Cloud-Anwendungen im Rahmen der generellen Cloud-Spezifika i.d.R. relativ problemlos möglich.

Oftmals können jedoch die unternehmensspezifischen Anforderungen nicht durch eine einzelne Cloud-Anwendung erfüllt werden, d.h. es müssen weitere Anwendungen integriert werden. Wenn diese Integration bereits durch die Cloud-Anbieter vorgesehen ist, stellt dies ebenfalls keine allzu große Hürde dar. Falls nicht, müssen projektspezifische Integrationsarbeiten durchgeführt werden.

Beispiele hierfür sind:

  • Die Entwicklung von spezifischen Integrationsmodulen für bestehende Cloudangebote (dies ist jedoch meist nur bei fortgeschrittenen Plattformen möglich (z.B. Salesforce.com))
  • Der Einsatz von Cloud-basierten Integrations-  bzw. BPM-Plattformen als führendes System (z.B. RunMyProcess oder Effektif)
  • Die Bereitstellung bzw. Nutzung von Cloud-APIs über API-Management-Plattformen (wie z.B. 3Scale)

Ein interessanter Artikel, der sich mit diesem Themenfeld beschäftigt und u.a. sechs Szenarios in diesem Umfeld darstellt und beschreibt, ist unter dem Titel „Integrationsszenarios und -plattformen für die Migration von Anwendungssystemen in die Cloud“ in der Zeitschrift HMD 296 „Praxis der Wirtschaftsinformatik – Systemkonsolidierung & -migration“ erschienen.

Update: Das Thema „Integration von Cloud-Anwendungen“ ist auch ein wesentlicher Inhalt des 2. Thementags des 10. Stuttgarter Softwaretechnik Forums des Fraunhofer IAO, bei dem gerade der Call for Presentations erschienen ist.

BPM-basierte Cloud-Integration (Quelle: HMD 296, siehe oben)
BPM-basierte Cloud-Integration (Quelle: HMD 296, siehe oben)

Oliver Höß

Mobile Anwendungen – Es muss nicht immer eine App sein …

Seitdem Apple 2008 den App Store „erfunden“ hat, ist die Anzahl von verfügbaren Apps für die gängigen mobilen Plattformen rasant gestiegen. Man kann schon fast von einer „Appsplosion“ sprechen …siehe auch die Suchhäufigkeit des Begriffs „App“ in Google Trends.

Der Begriff "App" in Google Trends
Der Begriff „App“ in Google Trends

Die Entwicklung von stabilen Apps für unterschiedliche Betriebssystemvarianten, Gerätevarianten und Bildschirmgrößen ist dabei nicht trivial. Es haben sich daher eine Reihe von Technologien (z.B. auch hybride Apps) und Werkzeugen für das Cross-Plattform-Development (siehe z.B. hier) entwickelt, um diesen Herausforderungen zu begegnet. Dennoch laufen viele Apps nicht überall stabil und müssen häufig upgedated werden (und zwar bei allen Usern, die die App benutzen).

Doch ist eine typische „App“ überhaupt immer die richtige Wahl ?

Schauen wir einmal, wie diese Problematik in der Desktop-Welt gelöst wurde. Aufgrund ähnlicher Probleme (verschiedene Plattformen, häufige Updates) wurden dort viele Applikationen in den letzten Jahren auf Basis von Web-Technologien entwickelt bzw. portiert (sowohl unternehmensinterne als auch „öffentliche“ Applikationen). Dies geht soweit, dass sogar graphische Prozessmodellierungs-Tools, wie z.B. Signavio, als reine Web-Anwendungen über die Cloud nutzbar sind. Zu Beginn des Web-Zeitalters wäre das noch undenkbar gewesen.

Auch im mobilen Umfeld sollte daher trotz des „App-Hypes“ die Entwicklung einer mobilen HTML-basierten Web-Anwendung (mit entsprechenden aktuellen Frameworks, z.B. für „responsive“ Seiten) für ein konkretes Lösungsszenario immer als Alternative in Betracht gezogen werden !

Faktoren, die tendenziell für eine mobile Web-Anwendung sprechen bzw. sprechen können:

  • Die Anwendung soll wirklich auf allen mobilen Endgeräten / Plattformen (Smartphone / Tablet) laufen (und nicht nur auf ein paar spezifischen).
  • Es handelt sich um eine typische Anwendung zur Anzeige und Eingabe von Daten (wobei hier mit modernen Web-Frameworks sehr anspruchsvolle Lösungen möglich sind).
  • Die Funktionalität ist bereits über eine bestehende (stationäre) Web-Anwendung umgesetzt.
  • Es ist im Einsatzgebiet eine kontinuierliche Online-Verbindung verfügbar (obwohl heutzutage sogar offline-fähige Webanwendungen möglich sind).
  • Es werden keine extremen Anforderungen an lokale Ressourcen (Leistung und Zugriff) gestellt (obwohl mit modernen Webtechnologien sogar ein Zugriff auf die lokalen Sensoren und Features von mobilen Geräten und sogar 3D Graphik im Browser möglich ist).
  • Eine Anwendung wird nur in unregelmäßigen, eher langen Abständen von den Anwendern verwendet.

Beispiele für „nette“ und nützliche mobile Web-Anwendungen sind z.B. die mobile Web-Anwendung von XING oder der Bahn (siehe unten).

Natürlich gibt es auch Gründe / Szenarios, bei denen eine App (nativ oder hyprid) Vorteile besitzt. Ich wollte angesichts des „App-Hypes“ nur die Web-Alternative wieder verstärkt in die Diskussion bringen …

Mobile HTML Web-Anwendungen von XING und DB AG
Mobile HTML Web-Anwendungen von XING und DB AG

Oliver Höß