The Google Consultant

Many things have changed in the last 12-24 months. Google is extending and has widely extended its services.

As many news already have summarized: 2010 will be the year of Google.

So why shouldn’t we create a new job profile, a new job specialization?

Somebody, who knows all the services and solutions of Google and thus can advice and implement in this broad area of Google. Starting with some kind of SEO, selecting useful Google Apps, building an development environment with the Google App Engine, developing some apps, introducing ChromeOS, Chrome, Mail, Calendar, choosing and selecting helpful Chrome extensions, extending company channels with Android and so on and so forth…

Much more than SEO with Google was in the past – comparable to the SAP consultant or other specialists in similar tech areas.

And if you believe such a new job profile makes sense, then you should also think about professional Google education and consultancies.

I believe, especially for small and mid size companies, it might be an interesting model to rely on the many (cloud) services and solutions of Google and these, of course, need advice how to profit from these.

And last but not least:  Google Consultant somehow sounds sexy…

Is your Software Architecture social?

Is your Software Architecure social?

If you reply with YES to the 1o questions below it is:

  1. Do you provide almost any important function of your software as open API based on popular web protocols (REST, SOAP, JSON etc.)?
  2. Do you provide an ‘ajaxed’ web client for your software for the most popular browsers?
  3. Do you provide a mobile app client for the most popular smart phone platforms/stores (iPhoneOS, Android, Nokia…)?
  4. Do  your mobile apps integrate with the given mobile application architecture (e.g. Open Intents on Android)?
  5. Do you provide a native desktop client for the most popular client OSes (OSX, Windows, Linux)?
  6. Ist your platform SSO enabled via OPENID, Facebook, Google Account and/or Twitter? Can the user register with these services?
  7. Is your software location enabled? On the mobile and on the desktop?
  8. Do you provide web widgets for the most important functions – for easy integration in other web systems?
  9. Can your software exchange information with the most popular social software platforms (like Twitter, Facebook etc.)
  10. Do you support your developer community with documentation, help and an active forum?

Yes, a lot to do for your software architecture team, but if you consider these requirements from the scratch, it will be easier to implement with less money to spent – in the long term.

And you will need these points, if you want to be successful…I believe.

Who is afraid of Virginia Google?

I’m a huge fan of Google, especially in the last two years and the last months with Android, Chrome, Chrome OS and many other creations of the viable Think Tank Google.

In the beginning it was just a Search Company for me and a welcomed antithesis to the powerhorse Microsoft, but now Google is the IT inventor of the world, and I do not see any company being able – anylonger – to follow the innovation speed of Google.

Google is dominating the internet world by spitting out one trend after another.

Yesterday, for example, Google has launched again two new services in parallel!
One the one hand the new mobile (Android) app called Goggles , an argumented reality mobile search engine, and on the other hand the QR barcode system ‘Google Favorite Places‘.

goggles_landmark

With both Google connects reality with the internet world. Both, are in my eyes, again brilliant approaches, but, as Google is doing with other new services either, it makes us costumers more and dependent upon Google and it destroys other companys and smaller, in my eyes needed Think Tanks.

In the space of QR and augmented search I can count more than a handful, who are directly affected.

We, customers, are always happy about new Google services, due to these are almost free of charge, but what, if finally anything I do within the internet and my computer/mobile is dependent upon Google?

  1. ChromeOS as OS
  2. Chrome as browser
  3. Google Mail
  4. Android for mobiles
  5. Wave for social software & collaboration
  6. Maps for LBS and navigation
  7. …and so many others

One basic strategy of Google is to build everything they depend on on their own. Where does this strategy end?

Did you hear about the new Google DNS in the last days?

What, if finally there’s is only Google out there? In the nineties it was Microsoft, and now we are happy things have changed, but we haven’t won anything, if Google will become the next Microsoft for the coming 100 years…or more.

Das Mobile Internet ist tot

Nein, ist es natürlich nicht, aber hättet Ihr diesen Satz gelesen ohne diese brilliante, wissenschaftlich fundierte Headline?

Aber so richtig leben, so wie heute auf dem Desktop oder dem Laptop tut es meines Erachtens auch nicht, noch nicht…immer noch nicht?

Eigentlich werden die Handsets immer besser, die Displays immer größer, wir haben Flatrates und höhere Zugriffgeschwindigkeiten (alles, was wir immer wollten), trotzdem boomt etwas noch mehr, als die mobilen Webseiten:

Die mobilen Apps.

Ich, z.b., besitze jetzt mit meinem Motorola Milestone die wahrscheinlich beste Mobile Surfmaschine seit es Mobile Surfmaschinen  und bestimmt seit es Schokolade gibt (+800px Breite, sauschnell), zur Zeit und vielleicht für 2-3 Monate,  und trotzdem bevorzuge ich bei der täglichen Nutzung Apps, vor allem, wenn es um direkte Interaktion geht.

Ja, statischen Content, ein paar mobile Webseiten oder Blogs, lese ich natürlich über den Browser, obwohl ich natürlich auch mein RSS-Feed und meine Twitter-App habe, aber wenn jemand von mir verlangt, dass ich mit Webseite ausgiebiger interagiere, dann weiche ich auf einen Applikations Markt aus und suche die App Alternative.

Und wenn ich meine Tochter frage, ob sie auf Ihrem Magic Mobiles Internet hat, dann behauptet sie doch glatt: “Nein, nur Apps!”. Sie nimmt  es garnicht mehr wahr, wenn sie aus ihrer mobilen Facebook App einen Link im Browser öffnet.

Ja, das mobile Internet, so wie wir es kennen, ist tot, bzw. hat nie so richtig gelebt, die Frage ist, ob es bereits alle gemerkt haben?

Wenn ich mir so die Mobilen Marketing Themen anschaue, dann vermute ich, dass Viele immer noch glauben, den Erfolg des stationären Internets auf das Handy übertragen zu können…

Grenzenlos oder eingegrenzt

Es ist schon faszinierend, wie sich die technische Welt weiter entwickelt und gleichzeitig stehen bleibt.
Wie man nach 20 Jahren im gleichen Job immer noch Neues erfahren darf und Altes wieder verwenden kann und vorallem sollte!

Jetzt sitze ich hier vor meinem Laptop und steuere mit einem Putty-Client, mit gleichen Werkzeugen ein kleines Android Handy und gleichzeitig einen Multi-Millionen-Euro teuren IBM ZOS Mainframe.

Ich entwickle mit Eclipse und Java Programme, die entweder auf diesem kleinen, brandneuen Handset laufen oder halt auf einem sogenannten und über 40 Jahre alten Dinosaurier.

Linux und Java verbinden, und wer sich diesen Technologien verschliesst, wird verlieren, langfristig, weil es sich selber ausschliesst und eingrenzt.

Einige haben das gelernt, andere werden es nie lernen, glaube ich.
Ich mag die, die es lernen…

eplus 0.5 Beta

Nein, ich bleibe guter Kunde von eplus, und ich weiß auch, dass andere Provider bessere Zugriffsraten und Verfügbarkeiten bieten.

Deswegen bin ich auch nicht bei eplus.

Und ja, ich verstehe auch ein wenig von Webentwicklung, Mobility und Kundenbetreuung.

Und deswegen finde ich, dass ich das Recht habe, eplus hier zu kritisieren:

eplus “zwingt” den Kunden durch seine Tarifgestaltung auf ihre Onlineplattform, soweit so gut, kann ich verstehen und nachvollziehen, nur funktionieren müsste diese dann auch gut und besser.

Nicht nur, dass seit Tagen die Verfügbarkeit von eplus mangelhaft ist, auch die Services, die hier angeboten werden, sind teilweise mehr als fragwürdig.

Z.B. das Feature Cost Control. Dieses ist so fehlerhaft und verwirrend, dass ein Nichtvorhandensein dieser Funktion einen deutlichen Kundenvorteil bedeuten würde. In meinem Fall, ich habe drei Verträge bei eplus (neben anderen bei anderen Providern), zeigt dieses Instrument nahezu nur fehlerhafte Werte an. Im Vergleich zum tatsächlichen Verbrauch bzw. der anschliessenden Rechnung könnte man schon fast von Grimms Märchen sprechen. Keinerlei spezialisierte Tarifmerkmale (und welcher eplus Vertrag kommt ohne aus) wird in der Anzeige für Kosten und Verbrauch (Cost Control) berücksichtigt.

Und wie gefährlich fehlerhafte Instrumentenanzeigen sein können, wissen wir z.b. auch aus dem Flugzeugbau. Dann lieber ohne Instrumente und mit den eigenen Augen fliegen…

Ich würde eplus in diesem Fall empfehlen: Weniger ist mehr! Weglassen!

Und wenn, dann nur gut getestete und funktionierende Software. Das kann man doch von einem Grosskonzern, wie eplus, durchaus erwarten, oder?

Ach, und wenn ich mir dann noch etwas wünschen darf: Schick wäre es, wenn ich nicht bei jedem dritten Klick einen 503er HTTP Returncode erhalte.

Oder ist dieses “Onlinechaos” am Ende des Tages kein Technologieproblem, sondern entschiedene Business Strategie?

Soll ich Kunde besser die sehr teure Hotline anrufen?

Wer weiß das schon? Ich weiss nur: Onlineplattformen kann man deutlich besser und kundenorientierter gestalten.

Dafür von mir und heute ein 0.5 Beta für eplus!

File Upload mit JSF, Portlet und jQuery made easy and working

Im Portal, sei es nun Websphere oder Liferay oder andere funktioniert ja grundsätzlich nichts oder fast nichts  – in Bezug auf einen Fileupload -, was die Welt so (als OpenSource oder properitär) anbietet bzw. was in einer normalen Web/JSF-Anwendung grundsätzlich und gut funktioniert.

Sei es nun das native Apache Fileupload oder komplette Frontends wie die JSF-Lib Tomahawk oder jQuery.

Allerdings gibt es hier eine gar nicht zu aufwändige Alternative, die ungefähr wie folgt funktioniert (ich habe es ausprobiert, es geht).

  1. In einem Portlet includiert man in die Aufrufkette des Request über einen über PortletRequestDispatcher ein Servlet
  2. Dieses Servlet liest die über jQuery versandte Datei aus dem Request aus und wird vor dem JSF-Lifecyle aufgerufen
  3. Dazu benutzt man in diesem Servlet das Paket Apache Commons Fileupload (wie gewohnt)
  4. Den gelesenen InputStream legt man als Objekt in einem Request Attribut ab
  5. Im Portlet wieder angekommen, nach dem Ausflug zum Servlet, legt man dieses RequestAttribut in die Session oder belässt es im Request
  6. Die über den Upload Button verknüpfte (JSF)Action wird nun im JSF Cycle aufgerufen
  7. Der InputStream wird in der Action aus dem Request/der Session ausgelesen
  8. Dann kann man den InputStream, wie gewohnt, verarbeiten und z.B. in eine Datenbank schreiben

Fazit: Portlet und Servlet kann generisch und wieder verwendbar angelegt werden, so dass sich das für den JSF-Entwickler relativ seamless verwenden lässt.

Ich habe alle Freiheiten beim Upload und kann entsprechende GUI-Elemente in den JSF-Baum mischen, auch wenn es plain HTML oder jQuery z.b. ist.

Ansonsten wird in die Webanwendung nur zusätzlich ein entsprechendes und in einer Ausbaustufe generisches Servlet eingebunden.

Wer dazu Fragen hat, gerne melden.

Open Source, nicht immer der goldene Weg

Ich bin ein langjähriger Freund von Open Source, schon sehr lange und tendiere dazu , diese bevorzugt einzusetzen.

Aber auch wenn man mit Open Source viel erreichen kann und die Leistungsfähigkeit im Vergleich zu kommerziellen Produkten oft identisch ist, existieren Rahmenbedingungen, die von einem Einsatz abraten.

Die Gründe für eine Entscheidung gegen OSS sind oft nicht das Ergebnis eines direkten Vergleiches von Funktion und Kosten, sondern zu finden in der weniger komfortablen Integrationsfähigkeit in bestehende Infrastrukturen.

Und die Kosten, die man dann beim Einsatz von OSS spart, muss man anschliessend, manchmal auch mehrfach für anschliessende Integrationsleistungen aufwänden.

So z.B. im Bereich der Portalserver. Als ein intensiver Nutzer von Liferay behaupte ich, es existiert nahezu kein Grund, nicht auf Liferay zu setzen, wenn die Portalidee in einem Unternehmen eingeführt werden soll.

Ist dieses Unternehmen aber, wie z.B. viele Banken und Versicherungen, hochgradig abhängig von z.B. IBM Software wie Lotus Notes (Domino) im Bereich Email und CMS, Business Intelligence mit Cognos oder Filenet im Bereich DMS, ganz zu schweigen von ZOS als Hostbetriebssystem, dann ermöglicht der Einsatz des Websphere Portalservers eine deutlich einfachere und umfangreichere Integration.

Diese hier genannten Komponenten lassen sich auf dem visuellen Integrationslayer Portal mit Websphere sehr leicht zusammen führen. Eine Liferay Installation würde deutlich weniger Möglichkeiten – out of the Box – mitbringen.

In einem solchen Szenario machen sich die doch nicht geringen Initialinvestionen (z.B. Lizenzen) schnell bezahlt. Aber wie gesagt, hierbei ist nicht nur ein direkter Vergleich von funktionalen und nicht-funktionalen Anforderungen notwendig, sondern gerade die Enterprise Architektur Betrachtung im Unternehmen wichtig.

Wird beides vorher durchgeführt, dann ist man mit seiner Entscheidung i.d.R. auf der sicheren Seite – mit oder ohne Open Source!

Die neue Sicherheit mit Open Source

Wenn man eine kommerzielle Software eines Unternehmens einsetzt, und diese nicht unbedingt IBM oder SAP heisst, muss man (häufig) das Risiko der Insolvenz des Lieferanten tragen bzw. aktiv managen. Nicht selten ist das nicht eine Kann-Aktivität, sondern eine gesetzliche Vorgabe.
Viel zu oft ist es bereits passiert, dass Hersteller in den Konkurs gegangen sind und der Nutzer mit einem System ohne Sourcecoce bzw. Unterstützung ziemlich ratlos dar stand, vorallem wenn diese die Kernprozesse eines Unternehmens unterstützt.

In der Regel managed man ein solches Risiko, in dem der Code einer gekauften Software bei einem Notar hinterlegt wird, oder man sich wesentlich an diesem Unternehmen beteiligt, wenn der Geldbeutel es zulässt.

Der zweite Ansatz ist zwar häufiger anzutreffen, aber auch kostspielig, wird auch oft zu spät umgesetzt.  Der erste trotzdem weiterhin recht risikobehaftet. Man besitzt nun zwar den Sourcecode, aber ist dieser auch vollständig? Reicht die Dokumentation, ist diese aktuell und vollständig?  Jeder Entwickler weiß, dass der Sourcecode alleine oft nur die halbe Wahrheit ist. Und wirklich testen kann man den Katastrophenfall auch erst im Fall der Katastrophe, denn vorher ist der Code nicht zugänglich.

Und genau in diesem Szenario kommt OSS zum Einsatz. Wenn ich mich hier auf große Anbieter und passende Lizenzen verlasse, dann habe ich in der Regel immer alles verfügbar, um meine Systeme abzusichern:

# Den Sourcecode, welchen ich jederzeit abziehen und archivieren kann
# Ausreichende, aktuelle Dokumentation und viele Beispiele
# Eine entsprechende Community, welche mich unterstützt
# Und im Freiberuflermarkt umfangreiche, externe Unterstützung
# Und man kann Katastrophenszenarien jederzeit durchspielen

Fazit:

Ganz im Gegenteil zur weit verbreiteten (Manager)Meinung, Open Source erhöht die Risiken, kann ich mit OSS meine Risiken im Bereich des Softwareeinsatzes sogar minimieren und/oder besser managen.
Wichtig ist, dass ich auf die richtigen “Pferde” setze und die Lizenzfrage der eingesetzten Software richtig einschätze. Hat man diese Aufgabe aber einmal erledigt, geht es in der Regel bei zweiten Einsatz leicht von der Hand. Nicht vergessen: Auch OSS Lizenzen sollten aktiv gemanaged werden!

Die Startup Maschine

Ich bin eher ein später Google Nutzer (mit Ausnahme der allgemeinen Suchmaschine). Auf die anderen Google Dienste, sei es Mail, Kalender, Maps etc. bin ich erst relativ spät (über Android) gestoßen.
Aber das hindert mich nicht in meiner allgemeinen Einschätzung, dass Google inzwischen ein oder Der Web Innovator ist. Und das nicht nur wegen Wave, Chrome oder Android.

Mein neuestes “Lieblingsspielzeug” von Google ist aktuell die Google App Engine. Aus Software Architektursicht hatte ich letze Woche bereits darüber berichtet. Nun ist es aber nicht nur diese Tatsache, die mich zu meinem positiven Urteil über die App Engine motiviert.

Es ist noch viel eher der Umstand, dass die Google App Engine zum Startup Katalysator im Internet werden kann und wahrscheinlich auch wird.
Wenn ich eine Business Idee habe, muss ich nicht erst über Infrastruktur und Hardware nachdenken, sondern kann mich auf die App Engine stützen. Auch über Initialinvestionen muss ich nicht nachdenken. Ich kann meine Idee entwickeln und ins Internet stellen, und erst wenn ich wirklich Erfolg habe, das heisst Clicks, muss ich mir Gedanken über die Finanzierung der Systeme machen. Bis zu 5 Millionen Clicks im Monat sind frei, erst danach muss bezahlt werden.
Und wenn dann der große Erfolg kommt, was bei den meisten Startups ja eher nicht der Fall ist, dann ist auch in diesem Fall Google für mich da. Völlig transparent sorgt Google dafür, dass meine Systeme mitwachsen.

Die Bereitschaft etwas Neues zu wagen, wird steigen, da die Einstiegshürden sinken.

Welche Last hier von einem Entwickler genommen wird, kann nur der beurteilen, der sich persönlich schon mal über skalierende Infrastruktur hat Gedanken machen müssen.

Und das alles wird in einem Standard Technologie Set angeboten – Java bzw. JEE (oder Phyton). Das heisst, auch hier ist man auf der sichereren Seite, denn in diesem Umfeld gibt es auf der einen Seite sehr viele Entwickler und auf der anderen Seite viele fertige Lösungen und Komponenten.

Die, die Google als “Datenkrake” kritisieren (was ich in gewissem Masse nachvollziehen kann), die sollten an dieser Stelle nur mal darüber nachdenken, welchen Wachstumsbeitrag Google mit diesem Ansatz für die IT Wirtschaft leisten kann und hoffentlich wird.

Und nicht nur mit der App Engine, ähnlich könnte man auch über Android nachdenken und auch über das kommende Wave oder das Chrome OS.

Bei aller Vorsicht und Kritik, ich kann nur sagen: “Weiter so, Google!”.

Ich möchte auf diese Innovationskraft in diesen schweren Zeiten nicht verzichten wollen…

Ein Euro Ajax Portal fuer IBM

Manchmal fallen mir einfach keine vernüftigen Titel (mehr) ein..?

Was ich mit diesem Blogbeitrag eigentlich beitragen möchte:

Man kann unter einer IBM Websphere Umgebung auch ein Portal nutzen, welches nicht direkt aus dem Hause IBM kommt und mit keinen hohen Initialinvestionen verbunden ist.  Ich habe jüngst das Liferay Portal auf einem IBM Websphere Application Server (6.1) und DB2 (Version 9) ohne Probleme deployen können. Wie das funktioniert, steht hier.

Wie dann eine Anwendung/Portlet unter Websphere und Liferay 5.x zu deployen ist, ist hier dokumentiert.

Und damit das dann nicht das Ende ist, kann man über das getrennt down zu loadende IceFaces-Portlet-Beispiel auch wunderbar nachvollziehen, wie man Ajax-Support (über die JSF-Bibliothek IceFaces) auch in Liferay-Portlets einbauen kann.

Auf diesem Wege erhält man nicht nur ein integrierendes Anwendungsportal in einer IBM Websphere Umgebung, sondern einen kompletten RIA Anwendungsstack – und das für einen Euro oder vielleicht auch weniger :-) .

Dein neues Ich im Internet

Es ist schon erstaunlich, wie schwierig diese, eine Frage zu lösen ist.

Nicht unbedingt technisch, sondern eher aus der Perspektive des Wollens und der dann tatsächlichen Umsetzung. Wer, wie ich, schon so lange in der IT in Großunternehmen ist, der wird immer wieder auf das Problem, auch heute noch, stoßen, dass sich Mitarbeiter mit vielen UserIDs und Passwörtern rumschlagen müssen. Das ist nicht nur nervig, das kostet auch richtig viel Geld, wie diverse Umfragen schon ergeben haben.

Obwohl schon einige Jahre viele verschiedene und auch funktionierende Lösungsansätze existieren (Portal, SSO-Tools etc.) ist dieses Problem noch selten und/oder durchgängig gelöst.

Und im Internet ist man von einer Lösung sogar noch Lichtjahre entfernt.

Allerdings gibt es auch hier zwei interessante und relativ junge Ansätze: OpenID für die Authentifizierung und OAuth für die Autorisierung.

3534455302_e026dd998a

Google setzt seit Neustem sogar beide ein, und die Verbreitung von OpenID ist inzwischen auf über 45.000 Websites angestiegen.

Weiterlesen

Wie erfindet man sich (in der IT) immer wieder neu

Man mag zu der Firma IBM stehen, wie man möchte, auch ich bin mitnichten ein glühender Verehrer dieses IT-Riesen, aber wie keine andere IT-Company hat sich IBM über die vielen Jahrzehnte ihrer Existenz immer wieder neu erfunden und von dieser Evolution ständig profitiert.  Während andere und viele/die meisten IT-Firmen auf ihren (vermeintlichen) Höhepunkten nicht darauf geachtet haben, sich neu auzurichten und häufig aufgrund eigener Arroganz/Ignoranz und übersteigertem Selbstbewusstsein daran geglaubt haben, mit eigenen Ideen und eigenen Mitteln (vor allem mit bewährten) weiterhin gut zu fahren, hat IBM dagegen häufig komplett konträr agiert.

Weiterlesen