Article View: pl.comp.objects
Article #17204Jak wpasować procesy ETL(DTS) w architekturę SOA ?
From: Filip Sielimowicz
Date: Mon, 11 Jun 2007 09:15
Date: Mon, 11 Jun 2007 09:15
56 lines
3928 bytes
3928 bytes
W moim rozumieniu SOA zakłada, że praktycznie cała komunikacja między systemami przechodzi za pośrednictwem publicznych usług. Zastanawiam się, jak się ta idea ma do praktyki, w szczególności do procesów ETL. Widzę trzy rozwiązania: a) skrajność pierwsza: procesy ETL tworzą oddzielny podsystem. oddzielnie budowany, opisywany i monitorowany, który z SOA nie ma nic wspólnego. Czyli generalnie budując złożony system już na wejściu łamiemy zasady SOA. b) skrajność druga: procesy ETL przestają istnieć w niskopoziomowej postaci. Wszystko co do tej pory było jakimś procesem wsadowym pracującym "na tyłach" baz danych zostaje sformułowane w postaci usługi. Wiąże się to także z faktem, że wszelkie dane przenoszone z bazy do bazy są przepychane przez warstwę usług. Powstaje więc szereg wątpliwości: co z wydajnością - jeśli np. wziąć pod uwagę, że dane te są(mogą być) obudowywane po drodze xml'em. Co z narzędziami typu DTS itp - do kosza ? c) jakiś kompromis: wszelkie procesy ETL są wystawiane jako usługi, ale dane nie przechodzą przez interfejs. Czyli usługi dają jedynie interfejs do sterowania (uruchamiania/przerywania/badania postępu...) pracującymi za ich plecami procesami niskopoziomowymi, które już typowo dla siebie samodzielnie łączą się z bazami danych i przerzucają co trzeba. To rozwiązanie ma zalety organizacyjne, ale IMHO dalej poważnie łamie ideę czystej SOA (chyba, że przeinterpretowałem). Jak Wy widzicie ten temat ? ieliście może podobne dylematy ? Osobiście skłaniam się albo za punktem a (niezależny podsystem procesów ETL) lub c (ETL sterowane przez usługi). Króciótko o pojęciach, którymi się posługuję: ETL (extract-transform-load) - procesy niskopoziomowego przenoszenia danych między bazami danych: replikacja danych między różnymi systemami, zasilanie hurtowni danych itp. Np. na bazie SQL Server do budowania i organizacji takich procesów służy DTS (data transformation services). SOA (service oriented architecture) - idea budowania systemów informatycznych na bazie silnej warstwy publicznych, wysokopoziomowych (najlepiej jeśli odzwierciedlających pojęcia biznesu, nie informatyki) usług, za pomocą których różne systemy komunikją się ze sobą. Na bazie silnie zarysowanej warstwy usług można budować aplikacje całkowicie oderwane od systemów pierwotnych (dostarczających usługi) - tzw. aplikacje kompozytowe - np. portale dające użytkownikom dostęp do usług (danych, funkcji ...) "w jednym miejscu". Przy idei SOA ugruntowują sobie stałe miejsce nowe pojęcia, np. ESB - szyna usług centralizująca zarządzanie, monitorowanie itp do usług wielu systemów. To tak w skrócie i bardzo ogólnie, być może z drobnymi nieścisłościami ... -- Filip Sielimowicz
Technical Details
Message-ID:
<f4j43o$8d6$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: "Filip Sielimowicz" <sielim@wp.pl> Newsgroups: pl.comp.lang.java,pl.comp.objects Subject: Jak wpasować procesy ETL(DTS) w architekturę SOA ? Date: Mon, 11 Jun 2007 11:15:12 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 58 Message-ID: <f4j43o$8d6$1@nemesis.news.tpi.pl> NNTP-Posting-Host: efp194.internetdsl.tpnet.pl X-Trace: nemesis.news.tpi.pl 1181553592 8614 83.14.249.194 (11 Jun 2007 09:19:52 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Mon, 11 Jun 2007 09:19:52 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3028 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit