Okres wakacyjny (kiedy to było …) zaowocował stosem zaległej literatury…. Dziś przyszła pora na zaległe numery Software Developer Journal. Czasopismo adresowane głównie do programistów i architektów ale jako analityk i ja także znajduje tam nie raz coś ciekawego.
Hurtownie Danych
Na ten temat napisano już wiele, najgorsze jednak jest to, że jeśli z tego co napisano odfiltrujemy promocje tych rozwiązań i opisy domniemanych korzyści to zostaje bardzo niewiele. Jedno jest prawdą: projektowanie baz danych jest bardzo trudne, hurtowni danych jeszcze trudniejsze.
Podobno ilość danych rośnie o 100% każdego roku. Skąd to tempo? Moim zdaniem nie chodzi o rosnące tempo ich powstawania a raczej o malejące ceny ich składowania. Niestety przyrost ilości danych nie czyni nas mądrzejszymi. Paradoksalnie rosnąca liczba przechowywanych danych pogarsza naszą sytuację. To tak jak z małym i dużym mieszkaniem: w małym mieszkaniu jest mało miejsca, zastanawiamy się nad przechowywaniem każdym przedmiotu. Aż tu nagle powierzchnia naszego lokum szybko rośnie, efekt? Nasze mieszkanie powoli zamienia się w graciarnię. Jeżeli znalezienie okularów w pojedynczym pokoju nie nastręcza wiele trudu (z reguły) to znalezienie w kilku zagraconych pokojach może być nie lada wyzwaniem.
Typowa baza danych nastawiona jest na przechowywanie danych modelujących obiekty świata rzeczywistego (dobrze zaprojektowana baza danych tak wygląda). Hurtownie danych nastawione są na przechowywanie danych o faktach, zdarzeniach istotnych z punktu widzenia biznesowego. Jest to zupełnie inny model danych. Można powiedzieć, że jeżeli typowa baza danych obrazuje obiekty biznesowe to hurtownia danych obrazuje model biznesowy konkretnej firmy. Na tym polega trudność, model danych można w pewnym sensie powielić korzystając np. z modeli referencyjnych branżowych, modelu danych dla hurtowni nie radze powielać.
O samym projektowaniu i pielęgnacji hurtowni danych można więcej przeczytać w kwietniowym (2008) numerze SDJ. W numerze tym polecam także artykuł Mitologia Sztucznej inteligencji, którego jednak nie będę tu streszczał..:) .
Numer majowy poza wieloma ciekawymi artykułami na tematy czysto programistyczne zawiera także bardzo ciekawy wywiad o rozwoju mobilnego oprogramowania i programowania z Panem Mirosławem Smykiem, Dyrektorem w firmie BL Stream , lidera rozwiązań mobilnych.
Bazy danych i obiektowe aplikacje
To troszkę wyższa szkoła jazdy. Wspomnę jednak o tym gdyż nie raz zdarza mi się obserwować analityków walczących z problemem: baza danych relacyjna i obiektowy model systemu. Co prawda coraz częściej model dziedziny systemu wykonywany jest w postaci diagramu klas (metoda analizy obiektowej) to jednak na rynku nadal dominują bazy danych relacyjne. Hibernate to, mająca wiele implementacji, metodyka implementacji metod dostępu do danych w relacyjnej bazie z poziomu obiektowego modelu. Każdemu kto styka się z problemami tego rodzaju polecam poznanie często wykorzystywanego wzorca projektowego DAO (Data Access Object) oraz DTO (Data Transfer Object). Mapowanie klasa – tablica (obiekt – rekord) nie zawsze jednak jest optymalnym modelem. Często może się okazać, że należy model relacyjny obsłużyć w poziomu obiektowego modelu dziedziny, tu stosuje się także inne wzorce, obsługujące między innymi dziedziczenie. Więcej w artykule Hibernate, numer czerwcowy SDJ 2008.
Procesy biznesowe według Microsoft
Windows Workflow Fundation (WWF) to biblioteka i jej specyfikacja opisująca sposób definiowania i implementacji opisu procesów przepływu pracy. System ten jest zorientowany na komunikaty, można go użyć dla SharePoint, InfoPath, BizTalk a także integrować z oprogramowaniem innych producentów. Więcej w SDj Extra Nr 30.
UML – kolejna odsłona
Modelować można planowane do wykonania oprogramowanie ale modelować można program instniejacy.W tym przypadku mamy jego dokumentację.Artykuł w numerze SDJ lipcowym 2008 opisuje jak użyć systemu CASE i notacji UML do dokumentowania istniejącego oprogramowania w celu zrozumeinia jego działania co także gorąco polecam (dokuemntowanie ;)). Kolejna “lekcja” w numerze październikwoym SDJ 2008.
Bazy danych
Model danych to kluczowy element oprogramowania, biznesowego w szczególności. Dlateg owazne jest projektowanie bazy danych juz na etapie analizy wymagań (mało kto tak robi ale polecam). Elementy optymalizacji, normalizacji, opisu transakcji opisano w ciekawy i przystępny sposób w numerze wrześniowym SDJ 2008.
CASE ze stajni IBM
IBM Rational to jeden z liderów na rynku systemów klasy CASE. Pakiet IBM Rational Data Architect to narzędzie do tworzenia skomplikowanych modeli danych. Modelowanie danych dla dużych systemów to praca trudna z perspektywy analizy ale także żmudna z perspektywy nakładu pracy na opracowanie modeli. Jak sobie tę prace ułatwić pokazuej artykuł w listopadowym SDJ z 2008.
… wybrane artykuły w całości …