Życie i praca w korporacji. Wszystkie postacie i wydarzenia są fikcyjne,a podobieństwa niezamierzone. Wszystkie terminy dotrzymane, kobiety piękne,a weekendy wolne. Chyba że nie.
  Sponsorzy bloga
  Reklama na blogach
  Blogvertising.pl
poniedziałek, 08 czerwca 2009
Dwóch kumpli

Wpis sponsorowany - Palcem po piachu

First things first - czyli zacznijmy od początku. Jeśli każdy już słyszał o językach programowania, to wciąż zapewne zdarzają się osoby, które mogą nie wiedzieć czym jest język UML. Rzecz jasna mowa tu o ludziach zwyczajnych, branża informatyczna bowiem UMLa zna i lubi. Przynajmniej powinna - jest to bowiem język służący do modelowania.  Całą koncepcję można sprowadzić do dwóch stwierdzeń "jak coś rozumiesz, to potrafisz to narysować" i "obrazek wart jest tysiąca słów".  UML jest więc łaciną informatyki, czasem nawet pozwala porozumieć się z klientami. Wystarczy nauczyć ich podstaw, a współpraca z nimi może w dużym stopniu się poprawić.

W czasopiśmie "Software Seveloper's Journal" , numerze z zamierzchłego kwietnia, omówiony został jeden z podstawowych diagramów - diagram klas. Opisuje on budowę programu, jest to diagram niezwykle statyczny, jak również potrzebny - zawiera dużą ilość informacji, a co lepsze - pozwala wygenerować sporo kodu programu z automatu.
Artykuł ten był pierwszym, z przewidywanej serii dotyczącej języka UML - który znać warto.  Pozwoli on nie tylko zrozumieć istotę programu, ale również wyegenerować dodatkowe strony dokumentacji. Czego wam serdecznie życzę.
piątek, 22 maja 2009
Kryzysowo. Populacja -1
środa, 18 marca 2009
Trójca klienta

Jeśli klient chce oszczędzić na wdrożeniu systemu informatycznego, mówi coś w stylu "to moi ludzie zajmą się...."

a) szkoleniami

b) migracją danych

c) testami

Zazwyczaj spotykamy odpowiedzi a, b, c. Co znaczy, że grupka osób która używała przez chwilę nowy system, ale zna i chc z powrotem stary system, oraz grupka osób które wiedzą mniej więcej jakie dane były w starym systemie i przygotowała je do nowego - wspólnymi siłami będą uczyć resztę gdzie kliknąć, żeby mieć to co kiedyś.

Rzecz jasna przesadzam, często klient po prostu chce mieć większą kontrolę nad wdrożeniem systemu i już w czasie jego powstawania sprawdzać czy wszystko idzie zgodnie z jego myślą. W marcowym numerze "Software Developer's Journal" możemy znaleźć artykuł opisujący trudną sztukę współpracy z testerami klienta, oraz co z tego wynika.

 Autorka przedstawia historyjkę z życia wziętą (żeby nie mówić brzydko 'Case') , oraz przybliża poszczególne etapy testów występujące w cyklu życia projektu. Znajdziemy więc trochę informacji o testach użyteczności,  testach funkcjonalnych, testach akceptacyjnych i paru innych sytuacjach, w których dowiedzieć się można, iż różowo nie jest.

 Sam artykuł wart jest przeczytania z prostej przyczyny - jest to praktyczny zbiór porad - jak prowadzić testy, ilustrowany istniejącym projektem, a jak wiadomo - nic nie jest tak ciekawe jak cudze problemy.

Ważnym aspektem interakcji z zespołem klienta jest rónież element "psychologiczny" - w końcu tester to zarówno największy wróg, jak i przyjaciel programisty. Zespół po stronie klienta będzie więc zapewniał zupełnie inne spojrzenie, czy nam się to podoba , czy nie.  Autorka artykułu wymieniła całą listę wad i zalet jakie wiążą się z pracą z zespołem testerów klienta, oraz napotykane po drodze trudności.... zarówno techniczne jak i inne.

 Muszę przyznać, że czytając artykuł mogłem tylko smutno kiwać głową, bo z mojego skromnego doświadczenia, wynika że co zostałow nim opisane to szczera prawda. Aż do bólu.

 

 

sobota, 28 lutego 2009
Rozmowa o pracę
niedziela, 15 lutego 2009
W biegu
piątek, 13 lutego 2009
Niby Oracle, a CEP

    Spośród wszystkich artykułów zamieszczonych  w Software Developer's Journal, większość dotyczy bibliotek, lub jakiegoś hołubionego w danym miesiącu tematu - w tym przypadku komórek i okolic. Znalazłem jednak artykuł sercu memu bliski, traktujący o technice programowania bazującej na przetwarzaniu zdarzeń.

    Sposób w jakie to coraz nowsze techniki wkradają się w świat biznesu śledzę z zaciekawieniem. Pamiętam jeszcze z czasów studiów, gdy opowiadano nam o systemach agentowych i wiecie, rozumiecie - wszystko fajnie, to nawet działa - ale jakoś nie można znaleźć dziedziny w której systemy te byłyby jedynym rozwiązaniem. Jednak, powolutku - przekradają się... podczas gdy swoje triumfy swięci architektura zorientowana na usługi, oraz wszystkie bajery bazuące na przekazywaniu komunikatów. Powiedzmy więcej, zdarzeń. Tutaj właśnie pojawia się CEP - czyli kompleksowe przetwarzanie zdarzeń, lub strumienia zdarzeń.

    Technika ta ogólnie rzecz biorąc, polega na przetwarzaniu nadchodzącego zdarzenia z uwzględnieniem iluś ostatnich zdarzeń, lub zdarzeń które wystąpiły w jakimś horyzoncie czasowym. Do dyspozycji mamy niezwykle matematyczną operację korelacji, która stwierdza, że jeśli dziesięć razy dostajemy w ciągu kwadransu informacje o pożarze, to chyba coś jest na rzeczy , więc wysyłamy straż pożarną, coby zadeptała pogorzelisko.

    Zastosowanie praktyczne tej techniki spotkać możemy w rozwiązaniu biznesowym Oracle CEP Server, które posiada wszystkie fajne słowa kluczowe, dzięki którym wpis ten na pewno będzie wysoko w wynikach wyszukiwarki : ED-SOA, Spring, OSGI (wykorzystywane na skalę produkcyjną. Pytanie dodatkowe- gdzie jeszcze spotkać możemy OSGI? W środowisku Eclipse), jest nawet takie niszowe coś jak EPL. Za jakże tajemniczym skrótem kryję się kolejna mutacja języka zapytań SQL, tym razem nie dla bazy, hibernate'a czy innego badziewia, ale dla strumienia zdarzeń. Chociaż po czymś takim jak Wyrocznia (Oracle) spodziewać by się można czegoś donioślejszego, choćby języka zapytań do strumienia świadomości. Jednak nad czym aktualnie pracuje Oracle wiedzieć może zapewne autor artykułu "Oracle CEP -złożone przetwarzanie zdarzeń", gdyż jest to Oraclowy Sales, Waldemar Kot. Nie mylić z Karolem.
sobota, 17 stycznia 2009
Porządek w aktach musi być.
    Bez względu na ustrój. Czy nie prościej byłoby skasować wszystkie informacje zbierane przez organy bezpieczeństwa jednym przyciskiem, zamiast wywozić ten badziew i palić za miastem? Najwyraźniej.
Teraz stało się to możliwie dzięki stworzeniu systemu analitycznego na potrzeby Policji.
    W styczniowym numerze "Software Developer Journal's"  w artykule "Informacja w służbie organów bezpieczeństwa" przedstawiona została architektura systemu, którego wdrożenie miało miejsce na ziemiach naszych rodzimych.  O ile koncepcja samych hurtowni danych staje się coraz popularniejsza, w tym przypadku możemy mówić o systemie analitycznym. Ułatwia on tematatyczne przeszukiwanie informacji, generowanie raportów, dokonywanie analiz i prognoz - jednym słowem wszystko, czego potrzeba w ramach budowania państwa totalitarnego. Aż chce się krzyknąć "Szczęśliwego Nowego Roku 1984!".
    Skoro już wiemy, że gdzieś tam posępne komputery zbierają o nas informacje, warto dowiedzieć się w jaki sposób. Bo komu to ma służyć, dobrze wiemy - rzecz jasna nam i poprawie naszego bezpieczeństwa. Poprawę naszego bezpieczeństwa zapewnia firma Oracle w porozumienią z Policją( spółką akcyjno-interwencyjną).
    Samo rozwiązanie przypomina mi system ekspertowy służący do analizy kryminalistycznej, który opisany został  w książce "Opcja Turinga".  Co prawda tutaj rolę analityka i maszyny wnioskującej pełni również automat, tyle, że białkowy. Same dane natomiast zostały przetworzone i skonsolidowane już przez system- co to oznacza? Ogólnie, że analiza zjawisk jest łatwiejsza, raporty dokładniejsze i z sensem, a dane zostały zgromadzone w jednym miejscu i uporządkowane. Policja zrobiła więc wielki krok naprzód - do tej pory tylko przestępczość była zorganizowana.  
    Technologicznych aspektów wdrożenia nie chciałbym opisywać, zrobił to doskonale autor artykułu - Andrzej Machnacz. Sam artykuł jest ciekawym studium przypadku, opisującym wdrożenie o niezwykłym zakresie zarówno jeśli chodzi o funkcjonalność jak i ilość danych. Biorąc pod uwagę dodatkowe czynniki takie jak zapewnienie bezpieczeństwa informacji, całą urzędową papierkologię - aż dziw bierze, że projekt się udał.
czwartek, 18 grudnia 2008
Nie zapomnij się zabezpieczyć.

         Przed oczyma czerwonymi mam kolejny numer Software Developer's Journal. Czasopismo jest niebieskie, a w środku jest jeszcze lepiej. Podczas gdy ostatni artykuł przeczołgał mnie strasznie przez kilka stron kanciastych zdań, teraz udało mi się znaleźć prawdziwą perełkę. Prawdziwa uczta dla ducha (autor ciała nie dał) - zapewne wynika to z jego informatyczno-politologicznego wykształcenia i dziennikarskiego zacięcia.

         Jak wszyscy dobrze wiemy,mieszkanie zamykamy na klucz, a kwiatka nie dajemy podlewać byle komu. If you know what I mean. Podobnie należałoby robić z dostępem do naszych cennych danych. O ile zdrowy rozsądek wystarcza w większości codziennych sytuacji, w świecie informatyki jednak trzeba trochę poczytać - doskonałym początkiem na drodze do dogłębnego poznania arkanów bezpieczeństwa może być artykuł "Postawy bezpieczeństwa Oracle". Opisane w nim zostały podstawowe mechanizmy bezpieczeństwa występujące w systemie bazodanowym Oracle (który jest jednym z czołowych systemów spotykanych na 'poważnych' wdrożeniach).

        Z artykułu możemy dowiedzieć się co nieco o (tu wyjadę wam ordynarnie z nagłówka)  przywilejach i ich przekazywaniu, politykach zarządzania hasłami, audytach bezpieczeńsstwa oraz podsumowaniu - z którym zgadzam się w zupełności. Tematyka artykułu to wierzchołek góry lodowej, ale za to autor wbił w niego wielką czerwoną flagę , dzięki czemu wiadomo na co zwracać uwagę. Artykuł został przygotowany profesjonalnie , z jasnymi, a licznymi przykładami ,  referencją do materiałów Oracle'a - jednym słowem bardzo dobrze, dostateczny.

      Od siebie mogę tylko dodać, że są to całkiem przyjemnec podstawy do dalszej nauki własnej - są to podstawowe metody, a Oracle posiada rozwiązania znacznie bardziej złożone - jak np Oracle Database Vault, Oracle Audit Vault, plus rozwiązania pozwalające  przywracać poprzednie stany bazy danych.... aż się temat pracy magisterskiej przypomina ( pozory mogą mylić - nie była o podróżach w czasie), no ale ja nie o tym.

     PRZESTRZEŃ REDAKCJYNA 

     Z miejsca chciałbym pozdrowić Niezłomną Tatianę, która uprzejmie acz stanowczo przypominała, ze poza pracą jest więcej pracy i wypadałoby wpis napisać.

poniedziałek, 03 listopada 2008
"IBM Rational Data Architect" [wpis sponsorowany]
      Nie przesadzajmy - nie dostałem grubej koperty pod pazuchę, za napisanie paru ciepłych słów, wręcz daleko mi od tego. Trzeba jednak przyznać, że ma tu miejsce afera z czasopismem Software Developer's Journal - otrzymuję bowiem egzemplarz,w zamian za notkę o artykule. Spodziewać się więc możecie przynajmniej jednego wpisu miesięcznie.
   
    RaV krążył nad artykułami zataczając wielkie koła paluchem po spisie treści. Komu by tu udzielić konstruktywnej krytyki? - pomyślał klnąc siarczyście. Programowanie? Brzyyyyydal. Robienie stron internetowych? Brzyyyydal. Skryptowanie SAP'a ? No ile można, ja tu po pracy jestem. Wtem!  Sokolim okiem wypatrzył chudziutki, biedniutki artykuł. Zapewne na kształt i podobieństwo autora - bo to student był, nie bójmy się tego powiedzieć. "IBM Rational Data Architect" - przywołało wspomnienie IBM Rational Software Architecta. Wreszcie coś, z czym mam coś wspólnego. Teraz będzie z górki.
   
    To było dwa tygodnie temu. Nie było z górki. Patrząc jednak na zawartość artykułu - nie tylko mi. Liczne powtórzenia, błędy ortograficzne, tekst merytorycznie poprawny, autor zdolny, ale techniczny. Łatwo krytykować, jeśli samemu się nie pisze - trzeba jednak przyznać, że niektóre rzeczy strasznie kłują w oczy. Pomijając jedną literówkę, 'da best of' to :

"ukaże się środowisko graficzne dobrze znane dla osób"- osobom? programistom? Dla osób od lat 3?
   
"Podobnie jak w przypadku modelu logicznego możemy stworzyć nowy model fizyczny postępując analogicznie do sposobu opisanego przeze mnie powyżej" - autor nie ma problemu z referencjami, wskaźnikami i innym programistycznym plugastwem. Mam nadzieję, że wystąpią liczne powtórzenia w przypadku czytelników - tzn. będzie podobnie i analogicznie.

"Tutaj ponownie pojawia się nam zakładka Palette po prawej stronie ekranu, na której znajdują się kontrolki, które wykorzystamy do stworzenia modelu fizycznego od zera."
Autor, który to napisał w artykule, używał słów, które się tam powtarzały. Takie mam odczucie.

To "Które" przewija się bardzo często, więc je litościwie pominę. Można by również zamiast pisać Rational Data Architect użyć jakiegoś fantazyjnego skrótu np. RDA, tudzież skorzystać z jakichś wyrazów... Oprogramowanie. Środowisko. Narzędzie to. Cokolwiek.

Jest w tym tekście jednak pewna różnorodność. Różnorodność to nie byle jaka - bo bazodanowa.

"Jedną z największych zalet Rational Data Architect jest to,  że współpracuje nie tylko z produktami firmy IBM, ale również niemal ze wszystkimi najpopularniejszymi serwerami bazodanowymi, do których możliwe jest podłączenie za pomocą sterownika JDBC." Podłączenie kogo? Się? Przyczłapu do bulbulatora?  Czego? Czego... Kolego!  Tak na prawdę, to nie jest zaleta - to jest wymóg dla tego typu narzędzia (patrz jak zmyślnie! i można?). To jakby chwalić się komórką, że mam w niej zapisany nie tylko swój numer telefonu, ale również wszystkich znajomyxh, którzy mi je podali.
   

Powiem wam jedno, to czego o mnie polonistka nie powiedziała nigdy - Dość przypierdalania się. Dam mu spokój.

Żart.

    Dalej też będzie czepliwie, ale technicznie. Czas na mięsko, czyli samo oprogramowanie. Osoby niezainteresowane mogą sobie dać spokój, tu postaram się pisać merytorycznie.

    Sam artykuł, już przez podtytuł "pierwsze kroki" wysoko  poprzeczki sobie nie stawia. Opis możliwości oprogramowania jest raczej zdawkowy  - można odnieść wrażenie, że służy ono wyłącznie do projektowania bazy danych. Byłby to błąd okrutny. Autor zapoznaje nas ze sposobem tworzenia i przechodzenia między modelami danych, oraz generowaniem bazy danych. W formie krótkiej niczym urlop w korpo. Obawiam się, że informacje te uzyskać mógłbym z tutoriala dołączonego do oprogramowania (Znów mi wyszło!) - jak to zazwyczaj ma miejsce w przypadku środowiska Eclipse, na którym RDA (Patrzcie go! Bez powtórzeń!) bazuje. Osobiście skupiłbym się na aspekcie który w moim mniemaniu odróżnia ten program od innych (do tej pory korzystałem jeszcze z Power Designer firmy Sybase i muszę przyznać, że funkcjonalność miał podobną).

Według mnie główną zaletą Rational Data Architecta jest możliwość mapowania modeli baz danych, oraz ich porównywania. Autor stwierdził, że na etapie poznawanie tego narzędzia (eh.... jednak nie tyko ja tak potrafię) funkcja ta nie znajdzie zastosowania, więc ją pominął. Uważam jednak, że właśnie tę cechę powinno się podkreślić, gdyż jej użyteczność jest wielka. W sytuacji, gdy należy dokonać migracji/integracji danych z(e zbyt wielu) różnych typów baz danych, do jednego, wtedy właśnie RDA może nam uratować cztery litery. Właśnie o tym chciałbym dowiedzieć się z artykułu.

    Mimo iż głównie się czepiam - liczę na kolejny artykuł opisujący, tym razem dokładnie, poszczególne możliwości Rational Data Architecta, a docelowo - całej rodziny produktów. Takie trochę piękno krajobrazu i zapierające dech w piersi widoki, zamiast skupiania się na opisie wydeptanej dróżki, po której idziemy. Nie ukrywajmy jednak - pierwszy program to zazwyczaj "Hello world" i musiało to tak wyglądać. Autor jeszcze się pewnie wyrobi, a póki co - nie jest znowu tak źle (na pocieszenie powiem, że korekta też dała dupy) - koniec końców dotarłem przecież do końca. Dwa razy.