Archive for: ‘November 2015’

IBM Notes Domino 9.0.1 FP5 released

30. November 2015 Posted by .:. netzgoetter.net .:.

Today IBM released IBM Notes and IBM Domino 9.0.1 Fixpack 5. Downloads can be found here: IBM Domino 9.0.1 FP5 IBM Notes 9.0.1 FP5 The IBM Notes/Domino 9.0.1 Fix Pack 5 Preliminary Release Noti ...

Preconfiguration of IBM Verse and Sametime iOS App using Apple Managed App Configurations

30. November 2015 Posted by .:. netzgoetter.net .:.

We as midpoints had been in talks with IBM for a while regarding the possibility to manage the iOS IBM ICS mobile Apps (Verse, Companion, ToDo, Connections and Connections Chat aka Sametime) by using ...

Auf der Pirsch nach dem scheuen Online-Shopper

30. November 2015 Posted by Dietmar Müller

Weihnachten steht vor der Tür, der gemeine Online-Shopper springt nun vermehrt durchs Unterholz des Internets. Wer als Händler profitieren möchte, muss von der ersten Recherche bis hin zur Kaufentscheidung in den Köpfen der Kunden bleiben. Der Shopper muss an den richtigen „Touchpoints“ gefangen werden.

Einstellungsvoraussetzung: Digitalismus

30. November 2015 Posted by Dietmar Müller

Ohne entsprechend geschulte Mitarbeiter ist die Digitalisierung für Unternehmen kaum zu bewältigen. Jeder fünfte Entscheider will daher die digitalen Fähigkeiten zu einem zentralen Einstellungskriterium machen.

Die “neue DNUG” – ein Erlebnis!

29. November 2015 Posted by Peter Schütt

Bild

Wer glaubt, dass ältere Vereinsorganisationen zwangsweise einfach irgendwann sterben müssten, irrt sich gewaltig. Ein für viele vielleicht überraschendes Beispiel bietet die neu erfundene DNUG..Sie ist seit über 20 Jahren die überwiegend in Deutschland aktive User Group von Nutzern von IBM Collaboration Lösungen. Aber sie hat sich jetzt neu erfunden - unglaublich und sehr stark!

In der jüngeren Vergangenheit schien es nach außen so, als würde man in der DNUG nur noch hochzählen: die 42. DNUG Konferenz, die 43., ...die 44.. . Als ob das alleinige Ziel einer User Group das Veranstalten von Konferenzen wäre? Doch dann kam SUPERMAN. Nein, nicht wirklich war, sondern SUPERTEAM. Es fanden sich mit Stefan Gebhardt, Jörg Rafflenbeul, Daniel Reichelt, Erik Wüstner und Birgit Krüger (die zum Jahresende aus persönlichen Gründen leider ausscheiden wird) fünf neue Vorstandsmitglieder, die sich zunächst einmal ernsthaft und sehr konstruktiv Gedanken gemacht haben, was eine User Group ausmachen sollte. Die Antwort lag eigentlich auf der Hand: Wert für die Mitglieder erzeugen. Wert für die Nutzern der IBM Lösungen, als auch für die Partner, die spannende Erweiterungen und Services anbieten.

Dieser neue Ansatz wirkt wie ein frischer Wind und war sofort spürbar. Anfang der Woche in Frankfurt, auf der Mitgliederversammlung am Montag begann es vielversprechend: Es gab es eine sehr, sehr große Unterstützung für die erforderlichen Satzungsänderungen und auch die erfrischenden, zukünftigen Pläne. In Kürze und bei weitem nicht vollständig:

  • Weg von der zentralen Organisation einzelner Events hin zu einem Crowdsourcing-Ansatz im Sinne einer lebendigen User Group.
  • Wiedererfindung und viel mehr Fokus auf themenspezifische Arbeitsgruppen, die sich durch kleine Teams selbst organisieren und eigene Events durchführen. Im Moment bestehen schon sechs solcher Gruppen.
  • Neue Regionalgruppen mit lokalen Stammtischen - von denen in den letzten Wochen schon etliche gegründet wurden. Ziel ist dabei lokale Foren zum Austausch von Erfahrungen zu bieten.
  • Nur noch eine Jahreskonferenz (typisch im 2.Quartal).
  • Ausweitung der Zusammenarbeit mit Universitäten.
  • Deutlich gesenkte Eintrittspreise für die Veranstaltungen - teilweise dann für Mitglieder auch kostenfrei. Das wird dadurch ermöglicht, dass es größere Einsparungen gibt, wie u.a. durch die Abmietung der etwas groß geratenen Geschäftsstelle in Jena, verbunden mit der Verlegung des Vereinssitzes in die Hauptstadt, also nach Berlin. 
  • Schaffung weiterer Werte für Mitglieder: Angedachte Beispiele sind u.a. Premiuminformationen, z.B. was IBM und deren Partner bezogen auf die Produkte im Collaboration-Umfeld zukünftig planen. Parallel dazu wird die DNUG auch eine Interessensvertretung gegenüber der IBM werden, etwa was den Wunsch nach neuen Funktionen angeht.
  • Neue Möglichkeiten der Mitwirkung und des Sponsorings für und durch Partner.
  • Neugestaltung der offenen DNUG Web-Site (der Entwurf, der sehr bald live gehen soll, sieht sehr frisch aus - wie auch die Facebook Seite (siehe Bild oben)) und Umzug der DNUG-Mitglieder Plattform auf die IBM Connections Cloud.

Das Ganze begann dann am Dienstag mit der ersten Sitzung einer der neuen Arbeitsgruppen. Diesmal war es die Gruppe "Verse, Notes & Domino" (wie sie wohl zukünftig heißen wird). Sie war überraschend so gut besucht, dass Stühle nachgeholt werden mussten. Ohne an dieser Stelle auf die Inhalte des langen Tages eingehen zu wollen, kam bei mir das Gefühl hoch, dass alle Teilnehmer das neue Format sehr begrüßten und wirklich viel Enthusiasmus im Raum war. Super schön!!! Das lag mit Sicherheit auch an den gelungenen Vorträgen aus der Arbeitsgruppe, aber vielleicht noch mehr an der lebendigen Form der Diskussionen, in denen keine Frage unbeantwortet blieb. Ich würde mich sehr wundern, wenn die Teilnehmerzahl dieser Arbeitsgruppe nicht schnell weiter ansteigen würde.

Zwischendurch kam auch immer mal wieder die Frage hoch, ob es denn bei dem Namen DNUG bleiben würde oder sollte. Zunächst einmal sind die Anhängsel an den Namen entfernt worden, was den neuen Anspruch an Einfachheit und Klarheit unterstreicht. Und was DNUG mal hieß, weiß eh kaum noch jemand. Für mich steht das seit Montag für Digital - Neu - Unorthodox - Gemeinsam, also die offensichtlich neuen Eckpfeiler dieses schon über 20 Jahre alten Vereins, der sich neu erfunden hat. 

Der neue Vorstand hat ganze Arbeit geleistet. Hut ab !!! 

 

Seit 24. Oktober 2008 auf Twitter

29. November 2015 Posted by StefanP.

IMG_1933

7 Jahre auf Twitter. Die Meldung kam am 24. Oktober.

23,4 k Tweets

5.198 Follower

4.008 folge ich

Twitter ist auch heute noch mein bevorzugtes Sharing-Tool im für Business-Themen, vermeintliche Relevanz in Deutschland hin oder her.


Einsortiert unter:Deutsch

Things I never blogged about: The XPagesExecutor Service

29. November 2015 Posted by Sven Hasselbach

The XPages engine has its own executor service to run jobs concurrently in another thread: the XPagesExecutor service. Under the hood the service uses a ThreadPoolExecutor for executing tasks, so it allows to use Runnables or Callables/Futures for asynchronous computation. For fun, you can even run a server instance, the started threads can run as long as you want (e.g. they are not bound to the XPages lifecycle).

Here is a small XPage with a button to start a Runnable via the Executor:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    
    <xp:button
        value="run the job"
        id="buttonDoIt">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="complete">
            <xp:this.action>
                <![CDATA[#{javascript:
                importPackage(ch.hasselba.xpages);
                new ch.hasselba.xpages.DemoExecutor().doIt();}]]>
            </xp:this.action>
        </xp:eventHandler>
    </xp:button>
    
</xp:view>

To use the Service, you have to aquire it first, then you can execute a Runnable like in this code snippet:

package ch.hasselba.xpages;

import java.util.concurrent.ExecutorService;

import lotus.domino.NotesException;
import lotus.domino.Session;

import com.ibm.domino.xsp.module.nsf.NSFComponentModule;
import com.ibm.domino.xsp.module.nsf.NotesContext;
import com.ibm.domino.xsp.module.nsf.SessionCloner;
import com.ibm.xsp.application.XPagesExecutor;

public class DemoExecutor {
    private final NSFComponentModule module;
    private final SessionCloner sessionCloner = SessionCloner
            .getSessionCloner();

    public DemoExecutor() {
        // get the current NSFComponentModule
        this.module = NotesContext.getCurrent().getModule();
    }

    public void doIt() {
        // aquire the Executor
        ExecutorService exService = XPagesExecutor.acquire();
        
        // run the Runnable
        exService.execute(new DemoRunnable(this.module));
    }

    class DemoRunnable implements Runnable {
        private final NSFComponentModule module;

        public DemoRunnable(NSFComponentModule module) {
            this.module = module;
        }

        public void run() {
            try {

                // init the NotesThread
                NotesContext context = new NotesContext(this.module);
                NotesContext.initThread(context);

                // now do the job...
                System.out.println("Starting the job...");
                Session session = null;
                try {
                    // grab the session
                    session = sessionCloner.getSession();
                    System.out.println("Running as "
                            + session.getEffectiveUserName());
                    Thread.sleep(10000);
                } catch (NotesException e) {
                    e.printStackTrace();
                } finally {
                    DominoUtils.recycle( session );
                }
                System.out.println("Done!");

            } catch (InterruptedException ie) {
                // handle interruption here
            } finally {
                // kill the Notes thread
                NotesContext.termThread();
            }
        }

    }

}

2015-11-29 08_54_13-SH Domain - Dev01_Hasselba_CH - IBM Domino Administrator

Callables must be submitted instead:

   public long doItWithCallable() {

        ExecutorService exService = XPagesExecutor.acquire();
        Future<Long> result = exService.submit(new MyCallable(this.module));
        long returnValue = (-1);

        try {
            returnValue = result.get();
        } catch (InterruptedException ie) {
            ie.printStackTrace();
        } catch (ExecutionException ee) {
            ee.printStackTrace();
        }

        return returnValue;
    }

    class DemoCallable implements Callable {
        private final NSFComponentModule module;

        public DemoCallable(NSFComponentModule module) {
            this.module = module;
        }

        public Long call() throws Exception {
            try {

                // init the NotesThread
                NotesContext context = new NotesContext(this.module);
                NotesContext.initThread(context);

                // now do the job...
                System.out.println("Starting the job...");
                Session session = null;
                try {
                    // grab the session
                    session = sessionCloner.getSession();
                    System.out.println("Running as "
                            + session.getEffectiveUserName());
                    Thread.sleep(10000);
                } catch (NotesException e) {
                    e.printStackTrace();
                } finally {
                    DominoUtils.recycle( session );
                }
                System.out.println("Done!");

            } catch (InterruptedException e) {
                e.printStackTrace();
            } finally {
                // kill the Notes thread
                NotesContext.termThread();
            }

            return System.currentTimeMillis();
        }

    }

Hope someone finds it usefull.

[Discontinued] Testing XPages(3): Testing the Business Logic

28. November 2015 Posted by Sven Hasselbach

I will not develop my planned XPages Testing Framework further because for me it has no business case anymore. While there never was enough time to make it to a „real project“ for the daily development (full JUnit integration, deployed as an OSGi plugin etc) and this code is only an example, I used this technique with a similar code base in some projects. It was a big help during development, because it allows to „look inside“ the XPages engine while testing.

How does it work?

In a JUnit test, a local proxy is started which fetches all request / responses between the Selenium WebDriver and the Domino server. Only the first request is relevant, the other requests are the resources like Javascript files, Images and CSS.

During the test, a special HTTP Header is added to the request (X-XPAGES-TEST). It contains EL code and the JSF phase when to execute it. A phase listener (in the application, better in an OSGi plugin) intercepts the HTTP header and executes the code. The result it posted back to the client (encapsulated in another HTTP header). It can then be tested with an assert.

Because of the use of special headers instead of injecting the results into the HTML markup, this can be used with Diffy or similar products to verify the application while refactoring the code base.

Here is the JUnit Test application:


package ch.hasselba.xpages.test.XPagesTester;

import java.util.LinkedList;
import java.util.concurrent.TimeUnit;

import net.lightbody.bmp.core.har.Har;
import net.lightbody.bmp.proxy.ProxyServer;
import net.lightbody.bmp.proxy.http.BrowserMobHttpRequest;
import net.lightbody.bmp.proxy.http.BrowserMobHttpResponse;
import net.lightbody.bmp.proxy.http.RequestInterceptor;
import net.lightbody.bmp.proxy.http.ResponseInterceptor;

import org.apache.http.HttpResponse;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Options;
import org.openqa.selenium.WebDriver.Timeouts;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class App
{
  private ProxyServer server;
  private LinkedList httpResponses;
  private LinkedList httpRequests;
  private WebDriver driver;
  private String baseUrl = "http://localhost/Demo.nsf/Test.xsp";
  private StringBuffer verificationErrors = new StringBuffer();
  private final String HTTP_HEADER_NAME = "X-XPAGES-TESTS";
	
  @Before
  public void setUp() throws Exception {
    this.server = new ProxyServer(4444);
    this.server.start();

    Proxy proxy = this.server.seleniumProxy();

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("proxy", proxy);

    ResponseInterceptor interceptor = new ResponseInterceptor() {
      public void process(BrowserMobHttpResponse response, Har har) {
    	  httpResponses.add( response );
      }
    };
    RequestInterceptor requestInterceptor = new RequestInterceptor() {
      public void process(BrowserMobHttpRequest request, Har har) {
    	  httpRequests.add( request );
      }
    };
    this.server.addRequestInterceptor(requestInterceptor);

    this.server.addResponseInterceptor(interceptor);
    this.driver = new FirefoxDriver(capabilities);
    this.driver.manage().timeouts().implicitlyWait(10L, TimeUnit.SECONDS);
  }
  @After
  public void tearDown() throws Exception {
    this.driver.quit();
    String verificationErrorString = this.verificationErrors.toString();
    if (!"".equals(verificationErrorString))
      Assert.fail(verificationErrorString);
  }

  @Test
  public void testDemo() throws Exception
  {
    StringBuffer strBuffer = new StringBuffer();
    strBuffer.append("[");
    strBuffer.append("{");
    strBuffer.append(""code": "#{javascript:java.lang.System.currentTimeMillis()}"}]");
    this.server.addHeader(HTTP_HEADER_NAME, strBuffer.toString() );
    
    reloadPage();

    System.out.println( "X-PAGES-TESTS: " + getXPageResponse().getHeader(HTTP_HEADER_NAME) );
    
    HttpResponse httpRawResponse = getXPageResponse().getRawResponse();
    Assert.assertTrue("HTTP/1.1 200 OK".equals(httpRawResponse.getStatusLine()
      .toString()));

    Assert.assertTrue("Lotus-Domino".equals(getXPageResponse().getHeader("Server")));

  }

  public void reloadPage()
  {
    this.httpRequests = new LinkedList();
    this.httpResponses = new LinkedList();
    this.driver.get(this.baseUrl);
  }
  
  public BrowserMobHttpResponse getXPageResponse(){
    return this.httpResponses.get(0);
  }
}

And here comes the phase listener:


package ch.hasselba;

import java.util.HashSet;
import java.util.Iterator;

import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;
import javax.servlet.http.HttpServletRequest;

import com.ibm.commons.util.io.json.JsonEmptyFactory;
import com.ibm.commons.util.io.json.JsonException;
import com.ibm.commons.util.io.json.JsonJavaFactory;
import com.ibm.commons.util.io.json.JsonJavaObject;
import com.ibm.commons.util.io.json.JsonParser;
import com.ibm.xsp.application.ApplicationEx;
import com.ibm.xsp.context.ExternalContextEx;
import com.ibm.xsp.context.FacesContextExImpl;

@SuppressWarnings("serial")
public class TestPhaseListener implements PhaseListener {

  private final String HTTP_HEADER_NAME = "X-XPAGES-TESTS";
	
  public void afterPhase(PhaseEvent event) {}

  public void beforePhase(PhaseEvent event) {
    FacesContextExImpl fc = (FacesContextExImpl) event.getFacesContext();
    ExternalContextEx ec = (ExternalContextEx) fc.getExternalContext();
    HttpServletRequest request = (HttpServletRequest) ec.getRequest();
    ApplicationEx app = fc.getApplicationEx();
    HashSet results = new HashSet();
    try {
      String jsonData = request.getHeader(HTTP_HEADER_NAME);
      // Create the JAVA json factory
      JsonJavaFactory factory = JsonJavaFactory.instanceEx;
      // Turn the sort parameter string into an array of JSON objects
      Object jsonTests;

      jsonTests = JsonParser.fromJson(factory, jsonData);
      // Loop through the JSON objects and do something
      for (Iterator<Object> oSort = factory.iterateArrayValues(jsonTests); oSort
					.hasNext();) {
         JsonJavaObject o = (JsonJavaObject) oSort.next();
	 //String phaseId  o.getJsonProperty("phaseId") );
	 String code = (String) o.getJsonProperty("code");

         try {
           Object result = app.createMethodBinding(code, null).invoke(fc,
						null);
           results.add( result.toString() );
         }catch( Exception e) {
	   results.add( e.getMessage() );
         }
      }

      StringBuffer buffer = new StringBuffer();
      buffer.append( "[" );
      int pos = 0;
      for( String res : results ) {
         buffer.append( "{ "result" : "" + res + ""}");
         pos++;
	 if( pos < results.size() )
	   buffer.append( "," );
      }
      buffer.append( "]");
			
      fc.getXspResponse().addHeader(HTTP_HEADER_NAME, buffer.toString() );
			
    } catch (JsonException e) {
      e.printStackTrace();
      fc.getXspResponse().addHeader(HTTP_HEADER_NAME,
					e.getLocalizedMessage());
    } catch (Exception e) {
      e.printStackTrace();
      fc.getXspResponse().addHeader(HTTP_HEADER_NAME,
					e.getLocalizedMessage());
    }

  }

  public PhaseId getPhaseId() {
    return PhaseId.ANY_PHASE;
  }

}

Hope someone finds it usefull.

Debug Retrofit REST applications

27. November 2015 Posted by Sven Hasselbach

Today I had some problems with designing a Retrofit REST application, so I needed a way to debug the request and the response from the server. After poking around, I found the HttpLoggingInterceptor from OkHttp.  It provides all the functionality I need and is really easy to implement.

First you have create a OkHttpClient instance, add the interceptor and set the debug level to HttpLoggingInterceptor.Level.BODY:

OkHttpClient client = new OkHttpClient();
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
client.interceptors().add(interceptor);    

Next step is to add the client during the building of the Retrofit instance:

Retrofit retrofit = new Retrofit.Builder().client(client).build();

Now you can see the HTTP data sent over the wire:

2015-11-27 21_11_08

Don’t forget to add the two required dependencies to your pom.xml:

<dependency>
   <groupId>com.squareup.okhttp</groupId>
   <artifactId>okhttp</artifactId>
   <version>2.6.0</version>
</dependency>
<dependency>
   <groupId>com.squareup.okhttp</groupId>
   <artifactId>logging-interceptor</artifactId>
   <version>2.6.0</version>
</dependency>

Tschibo hat wieder einen 3-D-Drucker im Angebot

27. November 2015 Posted by motzet-online.de

Wie schon letztes Jahr hat Tschibo im Vorweihnachts geschäft wieder den UP! Mini im Angebot: http://www.tchibo.de/3d-drucker-up-mini-p400081858.html Wir können den Drucker nur empfehlen - schließli ...

DNUG – Zwei intensive Tage – DANKE und weiter so!

27. November 2015 Posted by Joerg Rafflenbeul

Am 23. und 24. November haben sich Mitglieder der DNUG in Düsseldorf getroffen. Auch Nichtmitglieder waren dabei. Nur sie zahlten eine Teilnahmegebühr am zweiten Tag. Wer nicht live dabei war, findet hier eine Zusammenfassung und vielleicht später auch Kommentare der Teilnehmer zu dem, was ihnen gefallen oder auch nicht gefallen hat - „Be Social“.

Aktivistentag

Es ist das eine neue DNUG, die sich, basierend auf den Konzepten, die im Sommer beschlossen wurden, formiert. Mitglieder haben sich im „Aktivistentag“ zu Fachgruppen zusammengefunden, Themen festgelegt und Termine für 2016 ins Auge gefasst. Es werden eine Konferenz im Zeitraum 31. 5. – 2. 6. 2016 und ein Notes / Verse / Domino Day spätestens im November 2016 stattfinden.

Mitgliederversammlung

Die Mitgliederversammlung stand im Zeichen von Verabschiedungen. Reiner Gratzfeld, der im Sommer aus dem Vorstand ausgeschieden ist und Gründungsmitglied des Vereins ist, wurde ebenso wie Birgit Krüger, die am Ende des Jahres berufsbedingt den Vorstand verlassen wird, geehrt.  Dr. Roswitha Boldt, „Frau DNUG“, wie Tom Zeizel dies in seiner Ansprache formulierte, wird am 29. Februar 2016 den Verein nach 20 Jahren Tätigkeit verlassen.

In der „ordentlichen“ Versammlung wurde dem noch immer „neuen“ Vorstand für die zurückliegende Arbeit das Vertrauen ausgesprochen. Die Verlegung des Vereinssitzes von Jena nach Berlin wurde durch eine Satzungsänderung formal bestätigt. Unter anderem wurde auch die kommende Verwendung der IBM Connections Cloud diskutiert.  Eine neue frische Webseite wird es ebenfalls geben und Euluc wird für einen, noch nicht feststehenden Zeitraum zur Verfügung stehen.

Ach ja, die Mitgliedsbeiträge sind durch den Beschluss der Versammlung gesenkt worden und aus einem Gast wurde ein neues Mitglied. Mehr zu den neuen Mitgliedern demnächst auf der neuen Webseite.

Jahresabschlussparty

Keine Konferenz bedeutet nicht gleich keine Party. Im Anschluss an die Mitgliederversammlung fand in gemütlicher Atmosphäre die Jahresabschlussparty in der Düsseldorfer Altstadt statt. Es gab zwei Highlights. Zu Beginn fand die Preisverleihung des Hochschulwettbewerbs statt. Den ersten Platz (Preisgeld 1500€) belegte Florian Schwade - Universität Koblenz-Landau. Auf Platz zwei (1000€) folgte Stephanie Streib - HFU Business School Furtwangen University. Einen sehr guten dritten Platz (500€) belegte Bastian Wieczorek - FOM Hochschule für Ökonomie und Management. Das zweite Highlight war die Verabschiedung von Dr. Roswitha Boldt und die zugehörige Rede von Felix Binsack.

Notes Domino Day

Ein ganz besonderer Erfolg war der von der Fachgruppe Notes Domino organisierte Notes Domino Day (Link zur Eventbuchung mit Agenda hier). Von knapp sechzig angemeldeten Teilnehmern, erschienen nur vier nicht und es kamen sogar einige kurzfristige Teilnehmer ohne Anmeldungen, die dies ausgeglichen haben. Zum Mittagessen gingen uns sogar die Essensmarken aus, als der 45ste und 46ste Nicht-IBM-Teilnehmer, die wegen einer Diskussion zu einem Fachthema später aus dem Meeting kamen, zu den anderen stießen.

Es gab ein breites Spektrum an Themen: Client Strategie, Lizenzen, Security und einen Ausblick inkl. Wünschen. Immer waren kompetente Ansprechpartner der IBM anwesend, ob als Referenten oder zur Klärung der lebhaften Fragen der Teilnehmer. Am Nachmittag fehlte auch mal der Kaffee, was einen lauten Hall verursachte Wink. Die Themen sind uns allerdings nicht ausgegangen. Am Ende, der wie immer viel zu kurzen Zeit, in der nicht alles besprochen werden konnte, wurden schon die nächsten Themen von der Fachgruppe Notes Domino gesammelt. Weiter so!

Danke an alle !!!

Der Dank gebührt allen, die diese vier gelungenen Veranstaltungen ermöglicht haben. Die Liste wäre hier zu lang und am Ende gibt es Beschwerden zum Datenschutz, wenn alle genannt werden. Auch denen, die so aktiv teilgenommen haben sei an dieser Stelle gedankt. Der Austausch untereinander hat sie hoffentlich schon etwas belohnt.

Einen Dank möchte ich dennoch namentlich aussprechen. Er gilt Dr. Peter Schütt. Danke Peter, dass Du uns bei der IBM so gut beherbergt hast, auch wenn wir immer so über die Produkte und ihren Hersteller konstruktiv kritisch diskutieren – manchmal auch schimpfen. Vielleicht ist das so, weil wir die Produkte so sehr lieben und sie „cool“ sind, wie Olaf Börner das im letzten Beitrag des Notes Domino Days formuliert hat.

Bis zum nächsten Ma(h)l Wink

Birgit, Daniel, Erik, Jörg und Stefan

 

Russische Cybergangster sind ehrlich: Sie wollen nur Ihr Geld

27. November 2015 Posted by Dietmar Müller

Wie tickt der russische Cybergangster? Dieser Frage ist eine dreijährige Studie nachgegangen, deren Ergebnisse nun veröffentlicht wurden.

Verbreitung von Hybrid Clouds nimmt zu

27. November 2015 Posted by Dietmar Müller

Matthias Kraus, Analyst bei IDC in Frankfurt, beobachtet seit Jahren eingehend den Markt für Cloud-Lösungen. Sein jüngster Befund: Die Verbreitung von Hybrid Clouds ist im Vergleich zum Vorjahr um rund ein Drittel, konkret von 15 auf jetzt 20 Prozent gestiegen. Zusätzlich planen 57 Prozent der befragten Unternehmen den Aufbau hybrider Cloud-Umgebungen innerhalb der kommenden 24 Monate. Der Bedarf an Hybrid Clouds ist also groß.

Neues IT-Sicherheitsgesetz: Zeit zu handeln

26. November 2015 Posted by Andreas Richter

IT-Sicherheitsgesetz: Was auf Ihr Unternehmen zukommt

Unwissenheit schützt vor Strafe nicht!Seit 1. August ist das IT-Sicherheitsgesetz in Kraft. Das Ziel: IT-Systeme und kritische Infrastrukturen in Deutschland sollen zu den sichersten weltweit zählen. Die Bundesregierung möchte damit Bürger und Unternehmen stärker und effizienter als jemals zuvor vor Cyberangriffen, Cyberspionage und Bedrohungen aus dem Netz schützen. Für Unternehmen gehen mit dem Gesetz einige – teilweise auch bußgeldbelegte – Pflichten einher. Aber werfen wir einen genaueren Blick in das Gesetz und die konkreten Auswirkungen für Unternehmen.

Die Betroffenen: Betreiber kritischer Infrastrukturen

Vom IT-Sicherheitsgesetz hauptsächlich betroffen sind Betreiber kritischer Infrastrukturen: Institutionen, Organisationen, Behörden und Unternehmen, die für das Gemeinwesen eine wichtige Rolle spielen. Dazu gehören beispielsweise Energie- und Wasserversorger, IT- und Telekommunikationsunternehmen, Finanzdienstleister, Krankenhäuser und Labore sowie Verkehrs- und Transportunternehmen. Allesamt also Einrichtungen, bei denen Ausfälle nicht nur eine erhebliche Anzahl an Personen treffen würde, sondern auch zu Versorgungsengpässen oder zu Störungen der allgemeinen Sicherheit führen können.

Die neuen Pflichten

Noch 20 Monate Zeit zur Umsetzung Per Gesetz sind Betreiber kritischer Infrastrukturen nun verpflichtet, organisatorische und technische Vorkehrungen und Maßnahmen zu treffen, die der Vermeidung von Störungen der Verfügbarkeit, Integrität, Authentizität und Vertraulichkeit ihrer IT-Systeme, Komponenten oder Prozesse nach dem Stand der Technik dienen. Als Frist nennt der Gesetzgeber hierfür übrigens zwei Jahre nach Inkrafttreten der Rechtsverordnung. Zudem müssen Störungen der IT-Systeme, die zu Beeinträchtigung oder Ausfällen der kritischen Infrastruktur führen können oder bereits geführt haben, unverzüglich dem Bundesamt für Sicherheit in der Informationstechnik (BSI) gemeldet werden. Andernfalls wird ein Bußgeld von bis zu 100.000 Euro fällig.

Auch betroffen: Betreiber kommerzieller Webseiten

Vom IT-Sicherheitsgesetz betroffen sind auch Online-Shops. Dazu gehören Blogs oder Webseiten, die Bannerwerbung einblenden: Jeder dieser kommerziellen Webseitenbetreiber ist nunmehr per Gesetz verpflichtet, technische und organisatorische Maßnahmen nach dem Stand der Technik zu ergreifen, die dem Schutz von Kundendaten und dem der verwendeten IT-Systeme zugutekommen – allerdings nur, soweit auch wirtschaftlich zumutbar.

Verschlüsselung und Viren-Hacker-Schutz werden zur Pflicht

Bei Verstößen drohen Geldbußen bis 50.000 Euro Das bedeutet, Betreiber von kommerziellen Webseiten müssen nunmehr sicherstellen, dass weder unerlaubter Zugriff auf die genutzten technischen Einrichtungen, noch Verletzungen des Datenschutzes möglich sind. Sowohl Technik als auch Daten müssen obendrein gegen Störungen, also auch Angriffe, geschützt sein. Konkret werden damit der Einsatz von Verschlüsselungstechnologien sowie ein Viren- und Hacker-Schutz per Gesetz zur Pflicht. Damit soll verhindert werden, dass (Kunden-) Daten gestohlen oder Webseiten manipuliert werden, und dass Computerviren oder Trojaner ein Computersystem infizieren. Bei Verstößen wird mit Geldbußen von bis zu 50.000 Euro geahndet.

Ausnahmen

Eine Ausnahme bilden Kleinstunternehmen: Unternehmen mit einem Jahresumsatz unter 2 Millionen Euro und weniger als 10 Mitarbeitern sind nicht von den Regelungen des IT-Sicherheitsgesetzes betroffen.

Meldepflicht

Mindeststandards sind nachzuweisen Mit der neuen Meldepflicht müssen sämtliche IT-Sicherheitsvorfälle an das BSI oder an die Bundesnetzagentur gemeldet werden. Damit einher geht auch die Pflicht, Ereignisse zu detektieren, zu ermitteln und die Vorfälle zu bewerten. Daraus folgend müssen interne (Produktion, IT, Betrieb) sowie externe (CERT) Meldewege verfügbar sein. Sofern es sich nicht um Betreiber kritischer Infrastrukturen handelt, können Sicherheitsvorfälle anonym, sprich ohne Nennung des betroffenen Unternehmens, gemeldet werden. Damit sind auch versuchte Angriffe sowie Sicherheitslücken meldepflichtig. Sobald jedoch die kritische Infrastruktur beeinträchtigt ist, ist eine Meldung unter Nennung des Betreibernamens Pflicht. Hier drohen betroffenen Unternehmen schwer kalkulierbare Image-Schäden. Vorbeugen sollte daher im eigenen Interesse sein.

Mindeststandards der IT-Sicherheit

Neben der Meldepflicht von IT-Sicherheitsvorfällen werden zudem Mindeststandards für die IT-Sicherheit bei den Betreibern kritischer IT-Infrastrukturen branchenweit festgelegt. Die Branchen bzw. deren Branchenverbände selbst sollen dazu Standards entwickeln, die anschließend vom BSI genehmigt werden. Alle zwei Jahre müssen dann Nachweise der Umsetzung dieser Mindeststandards, beispielsweise in Sicherheitsaudits, an das BSI erbracht werden. Die Umsetzung von Mindeststandards hat im Übrigen zur Folge, dass in Unternehmen ein Information Security Management System (ISMS) eingeführt wird. Dies geschieht auf Basis des BSI IT-Grundschutzes oder einer ISO 27001-Zertifizierung. Unternehmen, die bereits ein ISMS umgesetzt haben, werden dies darauf überprüfen lassen müssen, ob es den Anforderungen des Gesetzgebers genügt oder eine Zertifizierung fällig wird.

Diese Maßnahmen entsprechen dem Stand der Technik

    • Einführung eines Informationsmanagementsystems (ISMS)
    • Möglichkeiten zur Identifizierung und zum weiteren Umgang mit kritischen Cyber-Assets
    • Treffen von Maßnahmen zur Angriffsprävention und -erkennung
    • Implementierung eines Business Continuity Managements (BCM)
    • Umsetzung branchenspezifischer Sicherheitsstandards

Um diese Punkte umzusetzen, empfiehlt sich eine geeignete Zertifizierung: Geeignet sind Zertifizierungen nach ISO 27001 nativ oder ISO 27001 auf Basis IT-Grundschutz. Alternativ können auch Normen wie PCI DSS für Kreditkarten und der amerikanische Standard HIPAA für Gesundheitsdaten herangezogen werden.

Sicherheitsmaßnahmen der Betreiber kommerzieller Webseiten

... sowie Schutz der Bürger im Internet ist das Ziel Leider lässt das Gesetz offen, welche technischen und organisatorischen Maßnahmen zur Absicherung der IT-Systeme sowie zum Schutz vor unberechtigtem Zugriff nun konkret zu ergreifen sind. Benannt werden im Gesetzestext immerhin allgemeine Sicherheitsmaßnahmen. Dazu zählen die regelmäßige Aktualisierung der verwendeten (Shop-) Software, um Sicherheitspatches einzuspielen, sowie die Anwendung eines anerkannten Verschlüsselungsverfahrens und angemessenen Authentifizierungsverfahrens. Darüber hinaus sollen Werbedienstleister, denen Werbeflächen eingeräumt werden, zu Schutzmaßnahmen vertraglich verpflichtet werden.

Fazit

Das IT-Sicherheitsgesetz zielt darauf ab, die Sicherheit von Unternehmen und der Bundesverwaltung sowie den Schutz der Bürgerinnen und Bürger im Internet zu verbessern. Dabei bringt es für die betroffenen Unternehmen auch weitere, neue Compliance-Anforderungen – und wirft (noch) Fragen auf. Bei Verstößen drohen zwar empfindliche Bußgelder. Allerdings sind die Unsicherheiten teilweise noch recht hoch: Unklar ist bislang, welche Unternehmen nun genau zu Betreibern kritischer Infrastrukturen zählen. Wir raten Unternehmen, die unsicher sind, sich ans BSI zu wenden und dort nachzufragen. Denn auch hier gilt: Unwissenheit schützt vor Strafe nicht.

Zudem sieht das Gesetz nur kurze Umsetzungsfristen vor, sodass Unternehmen ihre IT-Infrastruktur einer raschen technischen wie rechtlichen Analyse unterziehen müssen: Gerade einmal zwei Jahre bleiben betroffenen Unternehmen und Institutionen, um ein ISMS zu etablieren. Für Webseitenbetreiber sind keine Übergangsfristen vorgesehen, die bußgeldbelegten Pflichten gelten daher ab sofort.

Wir raten deshalb allen betroffenen Unternehmen zu raschem, proaktivem Handeln!

Wie bewerten Sie das neue Gesetz? Halten Sie die getroffenen Vorgaben für ausreichend oder gar zu weitreichend? Ich freue mich auf Ihren Kommentar.

Der Beitrag Neues IT-Sicherheitsgesetz: Zeit zu handeln erschien zuerst auf GBS - Der Blog rund um Collaboration & Co.

App-Übersetzer für neun Sprachen

26. November 2015 Posted by IBM Press Releases - All Topics - Germany

Neuer IBM Cloud-Service auf der Entwicklerplattform Bluemix übersetzt automatisch englische Apps in neun Sprachen. 75 Prozent der Konsumenten wollen in ihrer Muttersprache einkaufen.