niedziela, lutego 26, 2012

Transakcje a NFC

Near Field Communication to właściwie kontynuacja RFID. Jeśli masz kartę bankomatową to najprawdopodobniej już używasz NFC. Taką granatową od PKO BP z graficznym znakiem fal, wyprodukowaną przez Gemalto. Zmienne pole magnetyczne czytnika wywołuje zmienne pole elektryczne, dzięki któremu pojawia się napięcie zasilające mikroprocesor karty. Zasięg działania do 20 cm. W Japonii (karty Mifare) ze względów bezpieczeństwa zasięg jest mniejszy: do 4cm. Wyobraź sobie piękną, ponętną, mającą czym oddychać, bezpruderyjną blondynkę, rozdającą w BlueCity promocyjne prezerwatywy Durex. Zbliżasz się do niej niebezpiecznie blisko i dochodzi do... transakcji. Założenie jest takie, że NFC ma umożliwiać łatwe i wygodne zakupy. Nie podajesz PIN-u. W PKO BP maksymalna kwota transakcji to 50 zł. Wyobraź sobie kogoś, kto niby przypadkiem wpada na Ciebie w centrum handlowym, tłum w metrze, ścisk w tramwaju, autobusie - idealne okoliczności do kradzieży Twoich elektronicznych pieniędzy. Technologia nie jest ściśle ustandaryzowana, ze względu na wsteczną kompatybilność i ogólnie -kompatybilność różnych urządzeń - jest sporo nieuregulowanych kwestii i procedur fallback. Rodzi to pole do wykorzystania NFC przez osoby niepowołane. Europay, Mastercard i Visa opracowały jeszcze w latach 90 ubiegłego wieku standard EMV, który miał na celu zabezpieczenie zbliżeniowych transakcji (czyste NFC nie jest bezpieczne). Ale nawet EMV po wynegocjowaniu aplikacji obsługującej transakcję przez kartę i terminal może mieć tryb uproszczony offline - sprawdzany jest numer seryjny i data ważności karty albo inne pola karty. Terminal może n-tą (lub losowo wybraną) transakcję karty przeprowadzać w trybie online - z weryfikacją transakcji po stronie providera inftrastruktury do płatności (a być może także po stronie podmiotu wydającego kartę). Karta też może weryfikować odpowiedź providera. Karta i provider przy potwierdzaniu/weryfikacji transakcji mogą posługiwać się kryptogramami. Niektóre karty Mifare szyfrują komunikację symetrycznym kluczem 3DES lub AES. Co jeśli stojący za Tobą w kolejce facet ze sprytnym urządzeniem "nagra" całą komunikację? Zobaczy kryptogramy wymieniane między kartą i providerem, będzie musiał zgadnąć ich strukturę i złamać 2/4/8KB klucz symetryczny przydzielany per karta. W maksymalnym uzbrojeniu technologia wygląda dobrze, gorzej że standard dopuszcza niebezpieczne sposoby przeprowadzania transakcji.

Gemalto dostarcza karty SIM z procesorem obsługującym standard EMV i jest providerem infrastruktury do płatności takim jak Visa. W czym komórka ma być lepsza od zwykłej karty płatnicznej z PKO BP? W niczym, ale operatorzy komórkowi szukają nowych źródeł przychodu, a pośrednictwo w płatnościach byłoby stałym strumieniem pieniędzy.

Kto jest cetyfikowanym dostawcą EMV Level 2 (Level 1 = hardware + Level 2 = software)? M.in. Atos (Windows CE), Motorola (Java), NEC, OKI, Toshiba, sporo producentów rozwiazań osadzonych (embedded OS, JamVM), wyspecjalizowane firmy obsługujące płatności np. dla stacji benzynowych (Java), producenci rozwiązań Point Of Sale (embedded, RT, Linux, Java), kontynentalne Chiny, Shenzhen (Linux), producenci bankomatów (Windows). Gemalto na strategicznego partnera wybrał VeriFone z cetyfikatem EMV Level 2 na ARM i Linuksa.

Czy jeśli chcesz płacić komórką z Androidem, to czy nie będziesz czuł się bezpieczniej z Google-em niż z operatorem sieci? Czy business case dla polskiego MNO się domyka? Pionierem mobilnego NFC w Polsce było w 2010 roku Inteligo (Samsung Avila w Erze), ale nie odniosło zamierzanego spektakularnego sukcesu. Visa nie śpi i wytacza serię nowych mobilnych produktów (patrz developer.visa.com). Visą PayWave PKO BP można płacić zbliżeniowo m.in. w McDonald's, Empiku, Cofee Heaven.

środa, lutego 22, 2012

Viva najpiękniejsi

wtorek, lutego 21, 2012

Korporacja to zło

Korporacja zabija innowacyjność. Oducza ludzi kreatywnego myślenia. Wysyła na zderzenie ze ścianą tych z zapałem i inwencją. Skutecznie demotywuje. Próbuje wtłoczyć w standardy bylejakości i nijakości. Korporacja nie rozumie wyróżniających się jednostek, bo ma masy ludzi przeciętnych (o których Heidegger by powiedział, że nie są świadomi swojego dasein). Anthony de Mello by skomentował: Be enlightened!

How to live with Tibco BW JDBC memory leak

BusinessWorks doesn't cleanup properly JDBC Statements and ResultSets. These resource are only cleaned by closing JDBC connection. Tibco BW closes unused connections after 5 minutes. Good configuration is MaxJobs=FlowLimit=M, JBDC max connections=1.5*M. You should not use poller fired once and running forever. Use Timer fired every given time period instead.

niedziela, lutego 19, 2012

TDI NoSQL

TDI podłączone do kilkuset komponentów Tibco BusinessWorks obsługujących procesy dotykające kilkunastu milionów klientów potrafi dość szybko i skutecznie zapełniać terowego Oracle-a. Regularne czyszczenie tablespace-a 1TB jest uciążliwe, a poza tym szkoda kasowanych danych - za okres 12 miesięcy można by odczytać ciekawe trendy. Do gry wkracza rozwiązanie marketingowo nazwane Long Term NoSQL Storage.


piątek, lutego 17, 2012

Decyzje w projekcie

1% wzrostu wydatków operacyjnych = x
1% wzrostu kosztów projektu = y
1% utraty wartości produktu = z
1% kosztów opóźnienia = v
1% kosztów spowodowanych przez zwiększone ryzyko = w

Wybierz kilka możliwych decyzji i oszacuj koszty każdej z nich. Wybierz decyzję najlepszą finansowo.

Ma fajny głos



I ten klimat w piosenkach...

czwartek, lutego 16, 2012

WebOS

HP otworzył kod zródłowy, ale chwilowo nie można się do niego dostać... Tzw. Slashdot effect.

Savoir vivre

  • Dostawca nie powinien wchodzić w rozgrywki między interesariuszami klienta, bo może się to dla niego źle skończyć - podziękują mu za współpracę.
  • W przypadku strat na projektach o z góry ustalonym budżecie, dostawca nie powinien próbować odrabiać strat wykładniczo, ale liniowo. W warunkach konkurencji i zaciskania pasa cena jest istotnym czynnikiem wyboru oferty.
  • Klient woli takiego dostawcę, który nie pyskuje i nie wykłóca się o wszystko. Dostawca powinien wiedzieć, że klient ma zawsze rację.

środa, lutego 15, 2012

Wydawanie pieniędzy

Amerykanie kupują w marcu, maju, sierpniu (wyprzedaże zimowe, wiosenne, letnie?) i na potęgę w grudniu.


A reszta świata na wiosnę i w środku wakacji.

wtorek, lutego 07, 2012

Lana Del Rey



Fenomen czy produkt wytwórni?

sobota, lutego 04, 2012

Uaktualniony jtransport BW

Drobne zmiany mające na celu ułatwić życie deweloperom po raz pierwszy korzystającym z biblioteki.

I Ty możesz zostać reżyserem

Listonosz puka dwa razy......
SOA od małego

piątek, lutego 03, 2012

Web MVC w Tibco BW

Proces aktywowany HTTP Receiverem jest kontrolerem do spółki z podprocesami obsługiwującymi konkretne akcje (które mogą być inicjowane formularzem HTML). Obsługa akcji ma blokowy szablon HTML, CSS umieszczony inline w znaczniku head. Aktywności SQL select można bardzo łatwo połączyć z generowaniem tabelek. 
<table>
    <xsl:for-each select="$JDBC-Query/resultSet/Record">
      <xsl:if test="position()=1">
        <tr>
          <xsl:value-of select="tib:concat-sequence-format(for $elem in current()/* return concat('<td>',local-name($elem),'</td>'), '', 1)"/>
        </tr>
      </xsl:if>
      <tr><xsl:value-of select="tib:concat-sequence-format(for $elem in current()/* return concat('<td>',$elem,'</td>',) '', 1)"/></tr>
    </xsl:for-each>
</table>
Numer procesu Tibco BW obsługującego pierwszy request HTTP staje się identyfikatorem sesji, której dane trzymane są w ConcurrentHashMap. Obsługa żądania HTTP nie czeka na pobranie dużej ilości rekordów z bazy - aktywność JDBC jest asynchroniczna, wynik pobierany jest na zasadzie sprawdzenia dostępności danych w sesji. Przeładowanie strony powoduje pobranie danych z pamięci podręcznej sesji a nie bazy. Zoptymalizowane zapytanie SQL jest szybsze od Hibernate-a. 
KISS me.