Startseite

Shareconomy - warum Unternehmen das CeBIT Leitthema ernst nehmen sollten

Nun ist sie also vorbei, die CeBIT 2013. Mit ihrem Leitthema rückt die CeBIT das Teilen und gemeinsame Nutzen von Wissen, Ressourcen und Erfahrungen ins Zentrum der Messe und verkündet mit gemeinsam mit namhaften Ausstellern den Anfang vom Ende der klassischen Geschäftsmodelle. Oder doch nicht? Was ist dran am neuen Hype und warum sollte sich auch Ihr Unternehmen meiner Meinung nach mit dem Thema befassen?

These Nummer 1 – die Cloud wird sich durchsetzen

Das Thema „Cloud“ ist gerade in Deutschland gefühlt immer noch ein sehr sensibles Thema. Zum Teil natürlich auch zurecht, denn nicht jeder Endanwender kann mehr kontrollieren, was wo mit seinen Daten passiert und selbst Unternehmen wissen nicht mehr sicher, wo all die Daten gespeichert werden. Hier wird sich auch auf Sicht die Spreu vom Weizen trennen und seriöse Anbieter überleben.
Dennoch: die Cloud hat als das typische erfolgreiche Shareconomy-Geschäftsmodell viele Vorteile. Rechenzentren können gemeinsam genutzt werden, Applikationen, die im Software as a Service (SaaS) Modell vertrieben werden, müssen nicht mehr gekauft und installiert werden, sondern werden einfach gemietet. Das spart Kosten und Ressourcen, fördert neue Innovationen im Mittelstand und wird daher weiter erfolgreich sein. Auch unser Technologiepartner Oracle bietet gerade für kleine und mittelständische Unternehmen bereits seit einiger Zeit Datenbanken und Middleware in der Oracle Cloud an (http://cloud.oracle.com ), die man übrigens auch 30 Tage kostenlos testen kann. Wir selbst betreiben unsere SaaS Anwendung Social PM in der Amazon Cloud bereits seit 2 Jahren erfolgreich ohne ein eigenes teures Rechenzentrum, das wir uns für all unsere Kunden gerade in der Anfangsphase nie hätten leisten können, und haben je nach Bedarf die Möglichkeit fast unendlich skalieren zu können.

These Nummer 2 – Entscheidungsprozesse und Zusammenarbeit verändern sich nachhaltig

Es mag einem gefallen oder auch nicht. Der Siegeszug von Facebook, Twitter und Google+ im Privaten haben unweigerliche Konsequenzen auch für das Kommunikationsverhalten und den Informationsaustausch in der Arbeitswelt. Unternehmen können es sich bei immer kürzer werdenden Innovationszyklen nicht mehr leisten Ideen, Wissen aber auch Probleme kompliziert und langwierig per E-Mail auszutauschen. Wer erfolgreich bleiben will sollte kollaborative Softwarelösungen nutzen und das Vernetzen der Mitarbeiter aktiv fördern. Dabei gehen die Möglichkeiten heute weit über die Nutzung von Wikis und Blogs hinaus und Enterprise Social Networks auch über Unternehmensgrenzen hinweg etablieren sich immer mehr. Für den Erfolg ändert sich auch die Rolle des Managements und die Art und Weise, wie Entscheidungen zu Stande kommen. Denn Digital Natives haben ganz andere Ansprüche an zukünftige Arbeitgeber und deren Verständnis von Führung, Hierarchien und Kommunikation. In Summe müssen Mitarbeiter und Manager umdenken und bereit sein, Wissen, Kontakte und Ressourcen untereinander zu teilen, um weiter erfolgreich zu sein.

These Nummer 3 – Organisationen, die sich der Shareconomy nicht öffnen und ihre Geschäftsmodelle anpassen, werden nicht überleben

Können wir sicher sein, dass selbst Big Player wie Daimler, SAP oder Apple mit ihren Geschäftsmodellen zukünftig noch genauso erfolgreich sein werden, wie sie es heute sind? Ich glaube Nein! Der gesellschaftliche Wandel und die neuen technischem Möglichkeiten setzen auch die etablierten Unternehmen unter Druck. Wer hätte gedacht, dass erfolgsversprechende Geschäftsmodelle durch „Teilen“ anstatt „Kaufen“ die Großen wirklich bedrohen? Nicht jeder muss heute mehr ein Auto kaufen, um mobil zu sein. Innovative Car-Sharing Konzepte, die vor allem durch mobile Apps auf den Smartphones den Durchbruch geschafft haben, sind eine echte Alternative zum eigenen Auto – und die Bereitschaft der Konsumenten dies auch zu nutzen wächst! Apple mit seinen geschlossenen Systemen (obwohl wir Apple Fans sind!) wird immer mehr Probleme mit der offenen Android Plattform bekommen, gestreamte Musik aus dem Netz (z.B. Spotify) ersetzt die gekaufte Musikbibliothek auf dem iPod wo immer wir ins Internet können und nicht vorhandene Schnittstellen für die Apple Systeme verhindern die Vernetzung mit anderen Geräten und damit das Teilen von Informationen. Gleiches gilt aber auch für die großen Softwarehersteller wie SAP. Bereits seit einiger Zeit investieren sie Milliardensummen in Cloud Dienste wie SucessFactors, um den Anschluss nicht völlig zu verpassen. Welches Unternehmen wird auf langfristig noch Millionensummen in teure ERP Systeme investieren, wenn man auch kleine vernetzte Lösungen wie z.B. salesforce.com für sehr viel weniger Geld bekommt und diese Lösungen ganz andere Konzepte zur Einbindung von Partnern, Lieferanten und Kunden anbieten? Viele Unternehmen haben aus meiner Sicht noch nicht erkannt, dass sich damit auch die Prozesse in den Unternehmen nachhaltig ändern werden und das Netz der Ort wird, in dem Geschäfte gemacht werden und in dem Teams organisationsübergreifend zusammenarbeiten – entsprechende Sicherheitsmaßnahmen natürlich vorausgesetzt, damit der Abfluss von Unternehmensinformationen vermieden werden kann. Die Grenzen zwischen den Organisationen werden in der Folge immer durchlässiger, denn nur so ist es möglich, dass die vorhandenden Ressourcen gemeinsam effizienter genutzt werden können. Auch Oracle folgt diesem Trend und bietet mit dem Oracle Social Network ein Enterprise Social Network an, das sich in die Standardsoftwareprodukte der Fusion Applications integriert und alle Beteiligten miteinander vernetzt – übrigens sind die Oracle Fusion Applications alle auch für die Cloud ausgelegt und z.T. schon als SaaS verfügbar.

Fazit

Wir befinden uns in einer äußerst spannenden Phase, in der sich die gesamte Arbeitswelt durch die Möglichkeiten der Informationstechnologie verändern wird. Die Vernetzung, zunehmende Mobilität sowie der private Einsatz von Social Media wirken sich auch zunehmend auf die Unternehmen aus und Prozesse, wie sie heute am Arbeitsplatz gelebt werden, werden diesen Wandel nicht überleben. Wer zukünftig erfolgreich bleiben will, sollte sich ernsthaft mit der Shareconomy beschäftigen und auch kritisch seine Geschäftsmodelle hinterfragen. Auch wenn der Begriff selbst sicherlich ein hohes Hype-Potential hat, die Grundgedanken dahinter werden uns alle noch beschäftigen, da bin ich mir sicher – denn die Zukunft ist mit Sicherheit vernetzt!

Robert Szilinski

A summary after a trial of Oracle Public Cloud

A short summary after the trial of the Java and Database Service in the Oracle Public Cloud.

First of all both services (Java and Database) are very easy to use. For the Database service you can use the web interfaced, based on Oracle APEX or SQLDeveloper to manage the service. When using the Java service you can use your favourite IDE, like NetBeans or JDeveloper. An integration into a build environment can be achieved by using the CLI toolkit. The setup of the cloud services and the development tools needs less a day.

In general the development and deployment process of a JEE application to the Oracle Cloud works as expected. User and roles are managed by the Identity Console. Also a bulk load of users is possible by providing a CSV file.

Management of the services is very simple by using the offered consoles. These consoles offer basic administration functions. Very deep information about the underlying infrastructure, like the WebLogic servers JVM usage is not provided. The infrastructure containing operating system, database and WebLogic server are completely managed by Oracle. The cloud user does not have to concentrate on these details. The ideal scenario would be that the application developers don’t consider the underlying infrastructure when implementing applications based on JEE standards. However a basic understanding and knowledge about the underlying infrastructure is essential when implementing applications.

However there exist some pitfalls that require some more intention. At this time the Java service can only be connected with exactly 1 schema in the Database service. So running several applications means that these applications have to share the application data in the same database schema. In some scenarios this could be an issue. Furthermore when the application is not intended for public usage, configuring role-based access to the application is a must have! Another important aspect is some technical restrictions for applications. It is not possible to use the complete JEE standards for applications. Some APIs are not allowed and due to this can’t be used in an application. Consult the Oracle documentation for more details. In addition also not all WebLogic features can’t be used. An example is the feature of shared libraries. In particular for large enterprise applications this is very frequent used feature.

So at the end of the day for which types of applications are the offered services reasonable? First of all for services and applications that allows public access. An example could be a web service for calculating holidays based on a country/region. In terms of enterprise applications it depends heavily on the security requirements. However for very self-sustaining applications I could be an interesting option to consider.

Markus Lohn

Logging capabilities in an application running in the Oracle Public Cloud

Logging capabilities are essential when trying to analyze error situations or to find out what is going on in the application.

In a Java EE application the most popular frameworks for logging are log4j or java.util.logging. I made some basic testing how to use those frameworks in an application when running on Oracle Public Cloud

log4j

The application contains some basic configuration settings. It includes an appender for the console and for a file. Oracle Public Cloud does not allow file io! The application could be deployed without any exceptions. Also the test application runs as expected. However no log has been written. In the Java Service Console nothing is reported when searching through the log file.

So at this time log4j can’t be easily used in an application for the Oracle Cloud. When a took a quick look in the available appenders in the log4j documentation I found the database appender. This could be a solution. However I didn’t take the time to test this appender.

java.uitl.logging

The test application contains Logger references to java.util.logging. Deployment of the application works also as expected. The application tries to log messages with every available log level.  The logging configuration can’t be configured for the environment. However message with the level INFO, SEVERE and WARNING will be reported in the log file and can be found via the Java Service Console. Messages of log level FINE, FINER and FINEST are not available in the log file.

Conclusion

Currently I recommend to use java.util.logging for applications running in the Oracle Public Cloud. Integration of debug and trace information in the log file (FINE, FINER and FINEST) think about using a property that is controlled by your application. When this property is configured by the application the debug and trace information of the application can be documented in the standard log file by using the level INFO.

Markus Lohn

Role-based Access to Application in Oracle Public Cloud


Purpose

The Database and Java Service are available in the Oracle Public Cloud and can be tested in trail for free. They’re a lot of resources available how-to deploy and manage Java applications into the Oracle Public Cloud. Thanks a lot to Andreas Koop and Andrejus Baranovskis. However when reading the Oracle documentation it is important to know that when role-based access isn’t configured in the application potentially every user logged into the Oracle Public Cloud via SSO can access every deployed application. In this case it does no matter in which identity domain the user is registered. Due to this role-based access security has to be taken into account when running an application in the Oracle Public Cloud.

Issue

I first followed the Oracle documentation and configured the role-based access for a simple web application. I deployed the application to the Public Cloud and tried to access the application. Every time I got the following screen:

403 Forbidden

403 Forbidden

Although I accessed the application the first time no login dialog will be displayed. When I removed the auth-constraint element inside security-constraint element in web.xml the application works as expected. However every authenticated user can access the application. So afterwards are the configuration steps needed to achieve the role-based access.

Configuration Steps

1. Create a new role and grant access to users in the Identity Console

Role Management mit Identity Console

Role Management mit Identity Console

In this example the role name is HelloWorldAppRole.

2. Configure login configuration in web.xml

<login-config>
  <auth-method>CLIENT-CERT</auth-method>
</login-config>

Use CLIENT-CERT in order to participate in the SSO environment build by Oracle.

3. Define a JEE role for the application in web.xml

<security-role>
  <role-name>appusers</role-name>
</security-role>

4. Define which parts of the application can be access by the JEE role appusers in web.xml

<security-constraint>
    <web-resource-collection>
      <web-resource-name>constraint-1</web-resource-name>
      <url-pattern>*.jsp</url-pattern>
      <url-pattern>/helloworld/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>appusers</role-name>
    </auth-constraint>
</security-constraint>
<security-constraint>
    <web-resource-collection>
      <web-resource-name>constraint-2</web-resource-name>
      <url-pattern>welcome.html</url-pattern>
    </web-resource-collection>
</security-constraint>

Note: You always need two security-constraint definitions! The first one (“constraint-1”) controls the access to the various parts of the applications. In this case access is granted to users with the JEE role appusers. The second security-constraint is used to get the login dialog in order to authenticate the user. This security-constraint does not have any restriction to a particular JEE role!

5. Define the mapping between the JEE role and the role in the Identity Console in weblogic.xml

<security-role-assignment>
  <role-name>appusers</role-name>
  <principal-name>trialagec.HelloWorldAppRole</principal-name>
</security-role-assignment>

In the principal-name you have to include also the name of the identity domain where your Java service is registered in the Oracle Public Cloud. In my case the name is trialagec.

6. Define a unique cookie-path in weblogic.xml.

<session-descriptor>
  <cookie-path>helloworldapp</cookie-path>
</session-descriptor>

7. Now the application is ready and can be deployed to Oracle Public Cloud.

Test Application

1. Access the application in a web browser

https://java-trialagec.java.us1.oraclecloudapps.com/HelloWorldApps-HelloWorld-context-root

2. The login dialog will be displayed as expected

SSO Login Dialog

SSO Login Dialog

3. After successful login the welcome.html page will be displayed (remember security-constraint definition for welcome.html in web.xml)

Welcome Screen

Welcome Screen

Now when click on Start… the context /helloworld will be access. This context is secured with the security-constraint constraint-1 in web.xml. Only users assign to the JEE role appusers.

You can now make some further testing by granting users the role HelloWorldAppRole in the Identity Console and trying to access the test application.

The example application can be downloaded from here: helloworldapps

Resources

Oracle Public Cloud

Andreas Koop: Deploying Database Objects to Oracle Cloud by using JDeveloper

Andreas Koop: Deploying ADF Applications to Oracle Cloud by using JDeveloper

Andrejus Baranovskis: My ADF Sample Apps Live in Oracle Java Cloud

Markus Lohn
Copyright © 2009 esentri corporate Blog