Symbioza z protezą

Automatyzacja przez informatykę to sposób na obejście słabości i niedomagań człowieka. Całkowite wyręczenie człowieka przez automat nie ma jednak sensu - tylko człowiek może ocenić efekt automatyzacji.

Automatyzacja przez informatykę to sposób na obejście słabości i niedomagań człowieka. Całkowite wyręczenie człowieka przez automat nie ma jednak sensu - tylko człowiek może ocenić efekt automatyzacji.

Automatyzacja jest siłą napędową informatyki, jej podstawowym atutem i warunkiem istnienia jako dziedziny użytecznej. Automatyzacji w informatyce nigdy dość. Z punktu widzenia konsumenta informatyki nie ma lepszej miary jakości rozwiązania informatycznego niż to, ile pracy w sensie kosztu lub czasu jest w stanie zdjąć z barków człowieka.

Kiedyś automatyzacja była dziedziną przede wszystkim aplikacyjną, związaną z algorytmizacją podstawowych procesów biznesowych i technologicznych. Wraz z upowszechnieniem się graficznych narzędzi do modelowania procesów ten rozdział automatyzacji można - oczywiście w pewnym sensie - uznać za "załatwiony". Skoro tak, można już zacząć zastanawiać się, w jakim kierunku podąży innowacja w dziedzinie automatyzacji.

Czy automatyzacja będzie dotyczyć obszarów już częściowo zautomatyzowanych, czy też może tych, w których zrobiono dotychczas niewiele? Jakich warstw infrastruktury automatyzacja będzie dotyczyć przede wszystkim w najbliższej przyszłości? W jakim kierunku zmierza automatyzacja?

Logika z błędami w tle

Wdzięcznym wyzwaniem dla automatyzacji był, jest i będzie człowiek, a precyzyjniej rzecz ujmując, jego interakcja z tym, co już automatyczne. Jeśli przyjmujemy jako fakt, że programista popełnia błąd średnio raz na ileś tam linii kodu, musimy liczyć się z tym, że konsekwencje tych błędów prędzej czy później ujawnią się w tworzonej przez niego aplikacji.

Obszarów do automatyzacji jest tu co najmniej kilka. Automatycznie można dokonać analizy kodu pod kątem błędów składniowych, co zresztą jest już powszechne. Można pójść o krok dalej, poszukując w kodzie fragmentów uznanych a priori za powodujące problemy w późniejszych fazach procesu tworzenia oprogramowania - tutaj postęp dopiero się zaczyna, co widać w narzędziach IBM/Rational i Microsoftu.

W dalszej przyszłości można spodziewać się n-tego już powrotu do słynnej koncepcji komponentów San Francisco - gotowych, przetestowanych, a więc potencjalnie mniej kłopotliwych we wdrażaniu i utrzymaniu komponentów, których nie trzeba już "dotykać". Usługi Web są ich najnowszym wcieleniem, choć w ich przypadku niezmienny jest jedynie interfejs, przy zachowaniu możliwości dowolnej zmiany implementacji. W dobie rozwiązań coraz bardziej skomplikowanych kolejna wartość constans jest bardzo potrzebna.

Dane, marsz do mycia!

Ciekawym obszarem automatyzacji na styku oprogramowania i człowieka jest poprawianie błędów przy wprowadzaniu danych do różnych baz. O ile programiści zostali już wyposażeni w narzędzia automatycznie podpowiadające całe frazy, o tyle przeciętny pracownik biurowy ma wielką swobodę przy wpisywaniu danych osobowych, adresów, numerów telefonów itp., co oczywiście skutkuje zaśmieceniem baz danych i ich coraz mniejszą użytecznością biznesową.

Pomysłów na automatyzację w tym względzie jest sporo. Jakość danych na etapie tworzenia aplikacji zwykle uchodzi uwagi, albo też brak czasu lub środków na jej zapewnienie. Walidacja danych przed wprowadzeniem do bazy, jeśli się zdarza, to tylko w nielicznych przypadkach. W rzeczywistości codziennej sprawdzają się więc rozwiązania działające post factum, cyklicznie skanujące bazy danych w poszukiwaniu odstępstw od reguł i automatycznie je poprawiające.

Interesującym przykładem rozwiązania do czyszczenia zaśmieconych baz danych jest pakiet narzędzi QualityStage opracowany przez Ascential Software - firmę przez wiele lat współpracującą z IBM i przejętą przez niego w 2005 r. Obecnie w ramach projektu WebSphere Serrano-Hawk IBM integruje własne rozwiązania zgromadzone w ramach WebSphere Information Integrator z QualityStage.

Rozwiązania dla baz danych Oracle opracowuje kilka niezależnych firm. Wśród nich wymienić wypada Trillium Software oferującą narzędzia pozwalające na czyszczenie baz danych ad hoc. Podobnej klasy rozwiązanie oferuje firma Similarity Systems z Irlandii. SAS Institute ma w ofercie SAS Data Quality Solution, będące złożeniem jego własnych produktów z oprogramowaniem firmy DataFlux. SAS Data Quality Solution współpracuje ze wszystkimi ważniejszymi systemami bazodanowymi.

Próby zapanowania nad jakością danych podejmuje także SAP. Wraz z niedawnym zakupem firmy Callixa SAP funkcje czyszczenia danych prędzej czy później pojawią się w ramach platformy NetWeaver. Niezależnie od samego SAP-a, kwestią jakości danych zajmują się jego partnerzy, np. niemiecka firma Uniserv. Specyficzne dla SAP rozwiązania typu data quality oferuje partner technologiczny Oracle'a - firma First Logic. Dedykowaną aplikację do czyszczenia danych dla SAP oferuje także Group 1 Software.

Poprawka przed błędem

Poprawianie danych asynchronicznie ma zalety, ale tylko dopóki procesy biznesowe nie są silnie sprzężone. Pojawienie się na wejściu danych wadliwych - niepełnych, źle sformatowanych lub zwyczajnie błędnych - prowadzi w prostej linii do błędnych zapisów w bazach wielu systemów, błędnych interpretacji w ramach analizy.

W ten sposób rodzą się kłopoty mające wymiar finansowy, np. błędne decyzje, kary umowne za opóźnienia, błędy na fakturach, niezgodności w stanach magazynowych, rozliczeniach itp. Z myślą o takich przykrych konsekwencjach (a właściwie z myślą o ich uniknięciu) powstaje obecnie nowa klasa rozwiązań przechwytujących i sprawdzających poprawność danych zanim zostaną zapisane do baz i rozpoczną wędrówkę przez rozliczne zintegrowane systemy.

Ciekawe rozwiązanie automatyzacyjne ma do zaproponowania amerykańska firma StreamBase. Jej produkt Stream Processing Engine 2.0 odpowiada za analizę danych "w locie", porównywanie ich z danymi referencyjnymi i dopuszczenie (bądź nie) do wykonania transakcji, ewentualnie koryguje zawartość polecenia SQL. Co oczywiste, klientami na takie rozwiązania są internetowe domy maklerskie i inne instytucje finansowe.

W spadku po Ascential IBM odziedziczył narzędzia do zarządzania jakością danych w środowiskach SOA. Na tym fundamencie z pewnością powstanie rozwiązanie analogiczne do produktu StreamBase, aczkolwiek prawdopodobnie bardziej uniwersalne. Zobaczymy - na razie to tylko spekulacja.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200