Zine.net online

Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc
w Szukaj

-=:: stic ::=-

pl :: jedno z wielu miejsc, gdzie znajdziesz kilka moim myśli / en:: one of the many place where you would find a few of my thoughts

Recenzja: "Practical Software Factories in .NET"

Hej,

Co jakiś czas (błogosławione tramwaje) mam okazję dokształcić się w sposób trochę bardziej tradycyjny i sięgnąć po książkę. Generalnie swoje przemyślenia dotyczące pochłanianych publikacji zawieram w nieco innym miejscu. Ale te dotyczące tematów związanych z technologiami firmy Microsoft postaram się prezentować na stronach zine.net.

Tytuł: "Practical Software Factories in .NET"
Autor: Gunther Lenz, Christoph Wienands  w współpracy z Jackiem Greenfieldem i Wojtkiem Kozaczynskim
Wydawnictwo: Apress Inc.,  czerwiec 2006
ISBN: 1-59059-665-4
Stron: 240

Recenzja:

Gdy w 2004 roku przebrnąłem przez potężną 500 stronnicową książkę “Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools” (Jack Greenfield, Keith Short, Steve Cook, Stuart Kent) myślałem, że w temacie fabryk oprogramowania (ang.software factories) nieprędko pojawią się kolejne pozycje. Wspomniana publikacja bardzo szczegółowo prezentowała koncepcję optymalizacji procesu tworzenia systemów informatycznych, z wykorzystaniem metod takich jak: wyspecjalizowane języki domenowe (DSL), programowanie zorientowane aspektowo (AOP), architektury zorientowane na usługi (SOA), rozwiązania tworzone w oparciu o komponenty (CBD), automatyczne stosowanie wzorców projektowych, generowanie kodu, budowanie linii produkcji oprogramowania, integracji usług webowych itd. Moim zdaniem, Autorzy, podchodząc do tematu czysto teoretycznie i akademicko, wyczerpali go na długie lata, stawiając bardzo wysoko poprzeczkę twórcom środowisk oraz narzędzi, które miałbym wspierać procesy zachodzące w fabryce oprogramowania.

Wprawdzie firma Microsoft konsekwentnie publikuje kolejne pakiety, które mogą służyć jako podwaliny do budowania własnych zakładów przemysłu programistycznego, to o ile w temacie np. SOA pojawiło się w ciągu ostatnich kilku lat bardzo wiele mniej lub bardziej udanych publikacji, to tematyka poruszona w książce „Practical Software Factories in .NET" wciąż nie należy do zbyt popularnych. Tym bardziej wiedziony ciekawością oraz magicznym słowem „praktyczne” sięgnąłem po tę pozycję.

Architekci z ośrodka badawczego Siemens Corporate Research, Gunther Lenz i Christoph Wienands, przy współpracy z architektami z firmy Microsoft odpowiedzialnymi za tworzenie kolejnych wzorców fabryk oprogramowania, stworzyli książkę, która swobodnie może zastąpić poprzednią, teoretyczną, rozprawę. Niestety tematyka poruszona w ”Practical Software Factories in .NET” choć zorientowana na prezentacje praktycznych aspektów tworzenia fabryk oprogramowania, wciąż zawiera sporo elementów obrazujących koncepcję, nie dostarczając zbyt wielu konkretnych wytycznych czy też gotowych do zastosowania wzorców postępowania.  
Z ośmiu rozdziałów wchodzących w skład publikacji, pierwsze dwa swobodnie pozwolą osobom nawet niezaznajomionym z teorią fabryk oprogramowania, na śledzenie rozwój wydarzeń – losów projektu-prototypu fabryki oprogramowania ISpySoft.

Wykorzystując narzędzia dostarczane głównie przez firmę Microsoft (Visual Studio .NET Team System, DSL Tools), rozwiązania open-source, jak i firm trzecich, Autorzy opracowali prototyp fabryki oprogramowania budowanego na potrzeby rynku detektywistycznego. Projekt ten (dostępny na stronach serwisu CodePlex) posłużył za kanwę pozwalającą na omówienie tak szerokiego spektrum zagadnień jak: specyfikowanie fabryki (tworzenie modelów domeny, funkcji systemu, problemów i ich rozwiązań, zakresu domeny oraz dyskusji wymagań), budowanie szablonu fabryki (ang. software factory schema), jej architektury, czy też tworzenie linii produkcji oprogramowania. Omówiono także: zagadnienie definiowania głównych elementów danej fabryki i ich budowania na potrzeby ostatecznego procesu wytwarzania rozwiązania dostosowanego już do potrzeb konkretnego klienta - z wykorzystaniem potencjału uprzednio stworzonej fabryki.

Wprawdzie w powyższym akapicie zaledwie zarysowałem listę poruszonych w niniejszej publikacji tematów, jak już widzimy każdy z nich jest dość pojemy i de facto doczekał się osobnej publikacji. Trudno, więc oczekiwać aby książka „Practical Software Factories in .NET wyczerpująco odpowiedziała na pytanie jak powinien wyglądać nowoczesny proces wytwarzania oprogramowania, czy też przedstawiła cały proces oraz wszystkie narzędzia przy pomocy których zbudujemy fabrykę systemów informatycznych. Nawet przyjmując założenie, że poruszamy się tylko w zakresie wybranej technologii, czyli środowiska .NET, opis tego typu praktycznej realizacji tej metodyki jest dziś po prostu niemożliwy. Z jednej strony jest tak dlatego, iż nie istnieją jeszcze narzędzia, które mogłyby w pełni spełniać wymagania narzucane przez twórców koncepcji fabryk oprogramowania, z drugiej zaś strony dlatego, że proces tworzenia fabryki oprogramowania wymaga dużego wysiłku i nakładu pracy znacznie większej grupy osób niż stosunkowo małego zespołu autorów niniejszej publikacji. 

Niemniej jednak publikacja ta jest niewątpliwie obowiązkową pozycją dla osób zainteresowanych nowymi trendami w dziedzinie inżynierii oprogramowania. Wprawdzie praktycznych porad, w niej zbyt wiele nie znajdziemy, to na pewno dużo łatwiej (i przyjemniej) przyswajać wiedzę o fabrykach programowania na przykładzie, niż śledząc teoretyczne prace autorów poprzedniej publikacji w tej dziedzinie.

Ocena: 4 (warto przeczytać)

p.s. jeśli ktoś jest zainteresowany lekturą, nie mam nic przeciwko wymianie na inną ciekawą pozycję :-)


Recenzja ukaże się także w numerze 2007/09 czasopisma Software Developer Journal (www.sdjournal.org)
Opublikowane 8 czerwca 2007 14:00 przez stic

Komentarze:

Brak komentarzy
Komentarze anonimowe wyłączone

About stic

just another geek
W oparciu o Community Server (Personal Edition), Telligent Systems