Archive for: ‘Dezember 2012’

[EN] 2013 #SocBiz Prediction: “Enterprise buyers will be looking to avoid the Dropbox effect”

27. Dezember 2012 Posted by StefanP.

Time for 2013 predictions. This one is from the Alfresco CTO and Chairman John Newton:

Interest in independent social enterprise vendors will dry up and many features will be deemed unnecessary.

Instead of adopting new social enterprise platforms that prove to be just disconnected silos, social features will be built into all types of business applications and platforms to better connect and engage employees, partners, customers and other stakeholders.

Enterprise buyers will be looking to avoid the Dropbox effect and purchase platforms with built-in social enterprise features with a focus on being more secure and scalable over time. Social media won’t be relegated to one department such as marketing communications, but used across multiple departments that drive true business productivity.

via 2013: Enterprise Content Management Comes Full Circle.


Hochperformante und sichere SQL Zugriffe in Java

27. Dezember 2012 Posted by Ralf Petter

Beim Zugriff auf SQL Datenbanken wird immer gerne der Fehler gemacht, dass wenn ein SQL Statement mehrmals mit verschiedenen Parametern ausgeführt werden soll nicht die dafür vorgesehenen PreparedStatements sondern die SQL Befehle mit String Konkatinierung  zusammengebaut und mit execute() ausgeführt werden. Sogar in Java Lehrbüchern findet man immer wieder Beispiele wie das folgende, dass man aber in der Praxis auf keinen Fall so verwenden sollte.

public class StatementJDBC {
private static Statement stmt;
/**
* @param args
*/
public static void main(String[] args) {
//Verbinde mit Datenbank und initalisiere Anweisung
AS400JDBCDataSource dataSource = new AS400JDBCDataSource("localhost", "user", "password");
try {
Connection con=dataSource.getConnection();
stmt=con.createStatement();
//Gib verschiedene Namen aus der Adressdatei mit verschiedenen Adressnummern aus.
Date start=new Date();
System.out.println(getName("40"));
System.out.println(getName("41"));
System.out.println(getName("42"));
System.out.println(getName("43"));
System.out.println(new Date().getTime()-start.getTime());
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* Liest mittels SQL den Namen eines Adressatzes.
*
* Hier wird jedes mal ein SQLStatement mit String Konkatinierung zusammengebaut
* und ausgeführt.
*
* Dies soll man in der Praxis nicht machen.
* @param adressNummer
* @return Name
*/
private static String getName(String adressNummer) throws SQLException {
ResultSet rs=stmt.executeQuery("select * from adressen where adnr="+adressNummer);
if(rs.next()) return rs.getString("adnam1");
return "";
}

}

Es gibt zwei Gründe warum man seinen SQL Code nicht jedes mal als String zusammenbauen und dann mit execute() ausführen soll.

Bei wiederholter Ausführung des selben SQL Code ist die Performance viel besser, wenn der SQL Code nicht jedesmal geparst, geprüft und in einen Zugriffsplan übersetzt werden muß. Der Vorgang ein SQL Kommando in einen Zugriffsplan zu übersetzen ist je nach verwendeter Datenbank und Komplexität der Anweisung extrem aufwendig. Der oben angeführte Codeblock in dem die Zeit gemessen wird, läuft wenn man Preparedstatements verwendet, ca. 3 mal schneller als mit dem oben angeführten Code.

Was aber fast noch wichtiger ist, wenn ich SQL Befehle mit String Konkatinierung zusammenbaue, dann wird der Code anfällig für SQL Injections. Das heißt, es kann in der Variable mit ein paar Tricks beliebiger SQL Code eingeschleust werden. Dies ist eine der häufigsten Einfallstore für Hacks auf Webseiten. Also selbst wenn ein Statement nur einmal verwendet wird, sollte man auf jeden Fall um SQL Injections zu vermeiden Preparedstatements verwenden.

Noch dazu ist die Verwendung von Preparedstatements eigentlich extrem einfach. Man ändert den Typ von stmt auf PreparedStatement, und erstellt das Objekt mit prepareStatement(). Für jeden Wert der in der Anweisung variabel sein soll fügt man ein Fragezeichen ein. Der sqlCode aus obigen Beispiel heißt dann "select * from adressen where adnr=?". Bei jeder Verwendung der SQL Anweisung muss dann mit der passenden set Methode der Platzhalter im Statement mit dem richtigen Wert befüllt werden. Am leichtesten zu verstehen ist es wenn man sich folgendes Beispiel anschaut.
public class PreparedStatementJDBC {
private static PreparedStatement stmt;
/**
* @param args
*/
public static void main(String[] args) {
//Verbinde mit Datenbank und initalisiere Anweisung
AS400JDBCDataSource dataSource = new AS400JDBCDataSource("localhost", "user", "password");
try {
Connection con=dataSource.getConnection();
stmt=con.prepareStatement("select * from adressen where adnr=?");
//Gib verschiedene Namen aus der Adressdatei mit verschiedenen Adressnummern aus.
Date start=new Date();
System.out.println(getName("40"));
System.out.println(getName("41"));
System.out.println(getName("42"));
System.out.println(getName("43"));
System.out.println(new Date().getTime()-start.getTime());
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* Liest mittels SQL den Namen eines Adressatzes.
* @param adressNummer
* @return Name
*/
private static String getName(String adressNummer) throws SQLException {
//Parameter im vorbereiteten Statement setzen.
stmt.setInt(1, new Integer(adressNummer).intValue());
ResultSet rs=stmt.executeQuery();
if(rs.next()) return rs.getString("adnam1");
return "";
}

}

Die Preparedstatements können natürlich nicht nur für "Selects", sondern genauso gut auch für "Inserts" und "Updates" verwendet werden. 

Wer JDBC Zugriffe in seinen xPages, Plugins oder Agenten verwendet, sollte prüfen ob er auch wirklich überall schon PreparedStatements verwendet. Der Performancegewinn und vor allem die zusätzliche Sicherheit vor SQL Injections sollte den geringen Änderungsaufwand auf jeden Fall lohnen.

[EN] 2013 #SocBiz Prediction: “Change the Culture of Business from Compliance to Collaboration”

26. Dezember 2012 Posted by StefanP.

December 2012 – time to look forward to 2013. Here are some of the Social Business Predictions from Michael Idinopulos is chief customer officer and general manager of Socialtext.

When it comes to today’s fast-paced workplace, there’s no better place for social collaboration. But over time, our society has changed from an open setting of collaborative work to a closed, cubicle environment where work is isolated and trapped, confined by our digital domain. …

… Breaking down the “private office” has become easier than ever and has unleashed what can only be described as a productivity revolution. …

Enterprise social software will no doubt continue to create a more engaged workforce that is actually getting work done instead of just talking about it. Social has become the one-stop shop for communications, learning, feedback, documentation and more. I expect this trend to grow as we continue to change the culture of business from compliance to collaboration.

via Social Business: 5 Trends To Watch For 2013 And Beyond – Forbes.


[EN] 2013 #SocBiz Prediction: “Change the Culture of Business from Compliance to Collaboration”

26. Dezember 2012 Posted by StefanP.

December 2012 – time to look forward to 2013. Here are some of the Social Business Predictions from Michael Idinopulos is chief customer officer and general manager of Socialtext.

When it comes to today’s fast-paced workplace, there’s no better place for social collaboration. But over time, our society has changed from an open setting of collaborative work to a closed, cubicle environment where work is isolated and trapped, confined by our digital domain. …

… Breaking down the “private office” has become easier than ever and has unleashed what can only be described as a productivity revolution. …

Enterprise social software will no doubt continue to create a more engaged workforce that is actually getting work done instead of just talking about it. Social has become the one-stop shop for communications, learning, feedback, documentation and more. I expect this trend to grow as we continue to change the culture of business from compliance to collaboration.

via Social Business: 5 Trends To Watch For 2013 And Beyond – Forbes.


[EN] 2013 #SocBiz Prediction: “Email will evolve into a Social Platform”

25. Dezember 2012 Posted by StefanP.

And now Ed Brill, Director, Product Management for IBM Social Business, looks into the future – the future of email and the Social Inbox:

With approximately 145 billion corporate emails sent on a daily basis — a number that’s only expected to rise in 2013 — email is still the reigning champion of the enterprise collaboration world. For reference, there are roughly only 2.5 billion Facebook posts per day, and 400 million tweets.

Instead of fading away, email will evolve into a social platform. It’s already starting to happen – businesses that have cracked the code when it comes to the evolution of the inbox already have a leg up on the competition.

What exactly is social mail? In a nutshell, it creates a more effective workforce by unifying messaging and other business applications to reduce context switching. It frees up email, calendar, to-do and other messaging and collaboration from the client application.

Modern workplaces are on the brink of an email revolution. No longer a static medium, in 2013 email will become a critical business tool that brings people together in a collaborative and social way.

via What Does the Inbox of the Future Look Like?.


IBM in Deutschland richtet sich neu aus

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Die IBM Deutschland GmbH plant, eine neue, noch stärker auf ihre Kernkompetenzen ausgerichtete Konzernstruktur einzuführen.

Airbus setzt auf RFID mit IBM

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Airbus wird seine Lieferkette und Fertigung mit einer RFID-Lösung, die auf Software von IBM und dem US-amerikanischen RFID-Spezialisten OATSystems basiert, automatisch steuern.

Spatenstich für neue IBM Hauptverwaltung in Ehningen

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Zum ersten Spatenstich trafen sich heute Vertreter von IBM, FOM Real Estate und LBBW Immobilien, um gemeinsam mit dem Bürgermeister der Gemeinde Ehningen und dem Landrat des Landkreises Böblingen den Baubeginn der neuen IBM Hauptverwaltung in Ehningen zu feiern.

Deutschland steigert 2008 seine e-readiness

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

In der neunten e-readiness-Studie von der Economist Intelligence Unit und IBM belegt Deutschland Rang 14 – und hat sich somit gegenüber dem Vorjahr um fünf Plätze verbessert.

Deutsches IBM Entwicklungszentrum und Universität Stuttgart gründen IBM Technology Partnership Center

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Die IBM Deutschland Entwicklung GmbH und die Fakultät Informatik der Universität Stuttgart haben ein IBM Technology Partnership Center (ITPC) gegründet.

IBM Forschungspreis geht an die TU Darmstadt

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Der Fachbereich Informatik der Technischen Uni-versität Darmstadt erhält den mit 24.000 US-Dollar dotierten und weltweit ausgeschriebenen Unstructured Information Management Architecture (UIMA) Innovation Award.

IBM und Universität Karlsruhe starten Studienangebot für Dienstleistungs-Management

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Seit dem Sommersemester 2008 können Studierende an der Universität Karlsruhe erstmalig Kurse im Bereich Dienstleistungswissenschaft belegen.

IBM ist weltweiter Marktführer bei Unternehmensportalen

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

Laut dem Analystenhaus Gartner hatte IBM 2007 nach Gesamtumsatz den größten Anteil am Markt für Unternehmensportalsoftware.

Frohe Weihnachten

24. Dezember 2012 Posted by .:. netzgoetter.net .:.

Allen Lesern meines Blogs, Kunden, Partnern und Freunden wünsche ich friedliche und erholsame Weihnachten. Wir als midpoints haben uns dieses Jahr bewusst dafür entschieden keine Weihnachtskarten zu v ...

IBM führt die Green500-Liste der energieeffizientesten Supercomputer an

24. Dezember 2012 Posted by IBM Press Releases - All Topics - Germany

IBM Supercomputer (NYSE: IBM) zählen nicht nur zu den schnellsten Computern weltweit, sondern auch zu den energieeffizientesten.