Przeglądarki sieci WWW stają się szybko standardowym interfejsem dla wszystkich zastosowań, począwszy od elektronicznych katalogów, a skończywszy na aplikacjach intranetowych. W przypadku prostych aplikacji sieci WWW wystarczy sam serwer sieci WWW. W przypadku aplikacji dużych rozmiarów, wymagających dostępu do baz danych i przetwarzania transakcyjnego, firma IBM oferuje rozwiązania, w których produkt DB2 Connect służy do zarządzania bardzo dużą liczbą równoczesnych transakcji przeprowadzanych za pośrednictwem sieci WWW.
W tej sekcji opisujemy rozwiązania dla biznesu oparte na sieci WWW, w których korzyść przynosi wykorzystanie produktu DB2 Connect.
Aplikacje e-business w sieci WWW wykorzystują zwykle interfejs Common Gateway Interface (CGI) w celu umożliwienia użytkownikom zadawania zapytań do baz danych. W wielu firmach aplikacje sieci WWW wykorzystywane są na wewnętrzne potrzeby firmy i także zwykle mają w tle obsługę baz danych.
Użytkownicy wypełniają formularze na stronach sieci WWW, następnie formularze te wysyłane są za pośrednictwem interfejsu CGI do aplikacji lub skryptów na serwerze sieci WWW. Serwer ze swojej strony używa własnego interfejsu API w celu wprowadzenia zapytania SQL do bazy danych hosta. Ten sam skrypt może następnie utworzyć stronę sieci WWW (HTML) zawierającą wyniki zapytania, a następnie wysłać je z powrotem w celu wyświetlenia w przeglądarce sieci WWW użytkownika. Może to być katalog elektroniczny, w którym użytkownik może za pomocą zapytania uzyskać informacje o dostępności i cenie wybranych produktów i usług.
Aplikacje CGI mogą być proste do zaprojektowania i łatwe w obsłudze. Ponieważ standard CGI jest niezależny zarówno od systemu operacyjnego, jak i od języka programowania, dzięki temu jest dostępny na prawie wszystkich platformach komputerowych. Programy CGI mogą być napisane w języku C++ lub w języku skryptów, takim jak na przykład Perl.
Chociaż interfejs CGI może wydawać się idealnym rozwiązaniem dla aplikacji opartych na sieci WWW ma on jednak istotne ograniczenia. Środowisko programowania dla CGI nie jest tak wyszukane jak inne interfejsy API. Ponadto związane z tym jest także zagadnienie skalowalności, które może wpływać na operacje handlu elektronicznego w dużej skali. Za każdym razem, gdy wywoływana jest aplikacja CGI, na serwerze sieci WWW tworzony jest nowy proces. Każda instancja musi utworzyć własne połączenie z bazą danych i każda instancja wysyła własne zapytania. W środowiskach o dużych transakcjach ograniczenie to może być powodem powstawania poważnych problemów dotyczących wydajności.
DB2 Connect w połączeniu z serwerem sieci WWW można używać do tworzenia dużych i stabilnych aplikacji handlu elektronicznego. DB2 Connect dostarcza kilku rozwiązań umożliwiających poprawienie wydajności aplikacji opartych na sieci WWW. Procedury przechowywane w bazie (patrz DB2 Connect na serwerze sieci WWW) pozwalają użytkownikom DB2 Connect zmniejszyć liczbę zapytań wysyłanych do bazy danych.
Pula połączeń (patrz Pula połączeń) zmniejsza częstotliwość tworzenia i zamykania połączeń z bazą danych. W przypadku dużych operacji, w których ograniczenia interfejsu CGI stają się znaczące, zajrzyj do IBM Net. Dane (patrz Net.Data) i WebSphere (patrz IBM WebSphere) dostarczają połączeń innych niż CGI dużym aplikacjom obsługującym przedsiębiorstwa.
IBM udostępnia serwery HTTP (sieci WWW) zawierające wszystkie produkty DB2 Connect dla systemów OS/2, UNIX, Windows NT i Windows 2000. DB2 Connect Enterprise Edition zawiera gotową obsługę serwerów Apache Lotus Domino Go sieci WWW; może także pracować z innymi serwerami sieci WWW, takimi jak na przykład Microsoft Internet Information Server lub Netscape Enterprise Server.
Podczas pracy z rodziną baz danych produktu DB2, uruchomionych w systemach OS/390, AS/400, VM i VSE, na serwerze sieci WWW musi być zainstalowany DB2 Connect Enterprise Edition. DB2 Connect Enterprise Edition dostarcza bibliotek i interfejsów komunikacyjnych, umożliwiających serwerom sieci WWW dostęp do tych hostów i platform AS/400. W celu nawiązania komunikacji między serwerem sieci WWW i bazą danych uruchomioną w systemie OS/390, AS/400, VM lub VSE można użyć protokołu TCP/IP lub SNA.
Uwaga: | Rozwiązania firmy IBM dają możliwość pracy z wieloma bazami danych za pomocą tego samego skryptu CGI lub w ramach tej samej transakcji w skrypcie CGI. |
W następnych dwóch sekcjach znajduje się omówienie rozszerzeń zwiększających wydajność aplikacji CGI, korzystających z baz danych DB2. W następnych sekcjach omówimy rozwiązania będące alternatywą dla standardów CGI, takie jak na przykład język Java.
Ważnym czynnikiem, który trzeba uwzględniać w aplikacjach WWW oraz w środowiskach klient/serwer jest potrzeba minimalizacji ruchu odbywającego się między serwerem HTTP i końcową bazą danych. Czynnik ten jest szczególnie ważny podczas przetwarzania dużych transakcji, co jest wyróżnikiem większości aplikacji handlu elektronicznego.
Zalecane podejście polega na połączeniu programowania aplikacji za pomocą interfejsu CGI z logiką programowania i biznesu, hermetyzowaną w procedurach zapisanych w bazie. DB2 Universal Database w systemach OS/2, UNIX i Windows oraz DB2 w systemach OS/390, AS/400 i VSE używają parametrów wywoływania procedur zapisanych w bazie danych według takiej samej konwencji.
Podobnie jak w przypadku zwykłego interfejsu CGI przeglądarka sieci WWW wysyła formularz do serwera sieci WWW, na którym uruchomiony jest skrypt CGI. Jednak zamiast wysyłania do bazy DB2 poszczególnych instrukcji języka SQL, wysyłane jest żądanie wykonania procedury zapisanej w bazie danych. Taka procedura zapisana w bazie zawiera pewną liczbę instrukcji języka SQL, które w innej sytuacji zostałyby uruchomione oddzielnie. Procedury zapisane w bazie zmniejszają liczbę komunikatów przepływających w obie strony między skryptem CGI i końcową bazą danych.
Główna korzyść wynikająca ze stosowania procedur zapisanych w bazie polega na zmniejszeniu ruchu sieciowego między serwerem HTTP, a końcową bazą danych. Więcej informacji na temat procedur zapisanych w bazie zawiera Application Development Guide lub pomoc elektroniczna produktu DB2 Stored Procedure Builder.
Ustanowienie połączenia między serwerem DB2 Connect i hostem wymaga zasobów i czasu. W środowisku, w którym tysiące klientów często łączy (i rozłącza) się z hostem za pośrednictwem serwera DB2 Connect, ustanawianie i zamykanie połączeń zajmuje znaczną część czasu przetwarzania.
Pula połączeń DB2 zdecydowanie poprawia wydajność w takich środowiskach. Serwer DB2 Connect obsługuje otwarte połączenia z bazą danych w puli dostępnych połączeń. W momencie gdy klient zgłasza żądanie połączenia, może ono być dostarczone z puli gotowych połączeń. Pula połączeń w znacznym stopniu zmniejsza nakład pracy poświęcany na otwieranie i zamykanie tych połączeń.
Więcej informacji na temat sposobu działania puli połączeń można znaleźć w sekcji Pula połączeń.
Wiele niedostatków interfejsu można zlikwidować, rezygnując z interfejsu CGI i używając zamiast niego języka Java. Firma IBM dostarcza zarówno apletów jak i aplikacji, które pozwalają na zastąpienie interfejsu CGI językiem Java praktycznie na każdym etapie transakcji przeprowadzanych w sieci WWW. Rozwiązania dostarczane przez firmę IBM pozwalają na łączenie technik, co oznacza, że z DB2 można używać rozwiązań skryptowych, takich jak Net.Data i Microsoft Active Server Pages lub przejść do bardziej stabilnych implementacji dostarczanych przez serwery aplikacji Java, takie jak na przykład WebSphere firmy IBM.
Programiści języka Java mają do dyspozycji dwa interfejsy programowania aplikacji. Pierwszy z nich, JDBC, zapewnia użycie języka Java do projektowania apletów języka Java korzystających z danych oraz do projektowania aplikacji Java, serwletów Java stron serwera Java (JSP) i Enterprise Java Beans (EJB). JDBC jest interfejsem API poziomu wywołania lub wywoływania metod. Drugim interfejsem Java API jest SQLJ. SQLJ daje możliwość wstawiania instrukcji SQL do programów języka Java. DB2 może korzystać z obu tych interfejsów API w transakcji WWW zarówno po stronie klienta, jak i po stronie serwera.
Po stronie klienta obsługiwane są aplety, aplety korzystające z danych oraz aplikacje. Po stronie bazy danych możliwości języka składają się z obiektów, takich jak funkcje definiowane przez użytkownika oraz procedury zapisane w bazie.
Dla DB2 for OS/390, DB2 for VSE i VM oraz DB2 for OS/400 są dwa sposoby rozmieszczania aplikacji języka Java. Można użyć bezpośrednich połączeń zapewnianych przez DB2 Connect Personal Edition za pomocą protokołów TCP/IP lub SNA, można także wybrać pośrednictwo serwera DB2 Connect Enterprise Edition, który dostarczy połączeń z komputerem typu mainframe lub AS/400.
W obu tych przypadkach użytkownik znajdujący się w sieci WWW nie musi mieć żadnego specjalnego oprogramowania, aby uzyskać dostęp do bazy danych; wystarczy do tego standardowa przeglądarka sieci WWW. Jedyną rzeczą, którą trzeba zainstalować jest serwer DB2 Connect oraz dowolna przeglądarka sieci WWW standardu przemysłowego. Jeśli serwer sieci WWW i DB2 Connect znajdują się fizycznie na innych komputerach, to klient DB2 musi być zainstalowany na serwerze sieci WWW.
W przypadku DB2 for OS/390 kluczowym komponentem jest DB2 Connect Enterprise Edition zainstalowany na serwerze warstwy pośredniej. Jest to ten komponent, który udostępnia możliwości serwera JDBC, a także połączenia z serwerami DB2 for OS/390, VSE i VM oraz AS/400. Podobnie jak poprzednio, przeglądarka sieci WWW nie potrzebuje u klienta żadnego specjalnego oprogramowania.
Firma IBM dostarcza bogatego zbioru narzędzi służących do projektowania aplikacji i apletów języka Java. W produkcie DB2 Developer's Edition znajduje się pełny pakiet zawierający VisualAge for Java Professional Edition, WebSphere Application Server i Net.Data do obsługi połączeń z bazami danych oraz DB2 Universal Database i DB2 Connect do testowania. IBM VisualAge for Java Enterprise Edition zawiera także narzędzia projektowania aplikacji dla dużych przedsiębiorstw. Z rozwiązaniami baz danych firmy IBM współpracują także narzędzia pochodzące od innych dostawców, takie jak JBuilder firmy Borland oraz Visual Cafe firmy Symantec.
Net.Data, będące częścią rodziny DB2 Universal Database i DB2 Connect, jest zbiorem narzędzi projektowania aplikacji, które mają pomagać w tworzeniu i obsłudze aplikacji obsługujących transakcje przeprowadzane w sieci WWW. Za pomocą Net.Data można uzyskać dostęp i zmieniać dane przechowywane w DB2 UDB for OS/2, Windows NT, Windows 2000, UNIX, OS/390, VM, VSE i OS/400. Aplikacje utworzone za pomocą Net.Data zapisywane są na serwerze i mogą być uaktywniane za pośrednictwem przeglądarki sieci WWW.
Aby pomóc użytkownikom z podstawową znajomością języków HTML i SQL w tworzeniu bardzo wyrafinowanych aplikacji sieci WWW, Net.Data wykorzystuje makra lub szablony. Makro jest to plik tekstowy, który może składać się ze znaczników języka Java, Java Scripts, HTML oraz z funkcji wbudowanych. Makra takie mogą być następnie użyte do generowania dynamicznych stron sieci WWW za pomocą predefiniowanego układu, zmiennych oraz funkcji.
Podstawowe makro Net.Data składa się z siedmiu oddzielnych sekcji:
Kluczową cechą Net.Data, szczególnie dla DB2, jest to, że nie wymaga ona rozmieszczania klientów. W tej implementacji klientem jest po prostu przeglądarka sieci WWW.
Procesor Net.Data jest instalowany z produktem DB2 Universal Database na stacjach roboczych Windows NT, Windows 2000, OS/2 i UNIX z przeglądarką sieci WWW. Po połączeniu się z DB2 OS/390, DB2 for VSE i VM oraz AS/400 na serwerze DB2 Connect rozmieszczana jest pełna infrastruktura Net.Data, łącznie z serwerem sieci WWW.
WebSphere firmy IBM dostarcza o wiele bardziej kompletnych rozwiązań dla handlu elektronicznego, niż jest to możliwe za pomocą tradycyjnego programowania CGI. Serwery aplikacji WebSphere mają nie tylko wszystkie możliwości skryptów CGI, lecz umożliwiają także dostarczanie za pośrednictwem sieci WWW kompleksowych rozwiązań użytkownikom, wykorzystując do tego serwlety, strony Active Server Pages i JavaBeans dla przedsiębiorstw. Za pomocą WebSphere można:
WebSphere nie jest jednym produktem, lecz rodziną trzech produktów nakierowanych na trzy różne cele rynkowe. Zasadniczą częścią rozwiązania WebSphere jest serwer aplikacji WebSphere.
Serwer aplikacji WebSphere udostępnia środowisko trzem typom obiektów. Jednym z nich jest serwer stron Java, będący czymś analogicznym do produktu Active Server Pages. Drugi komponent składa się z serwletów Java, natomiast trzeci jest to JavaBeans dla przedsiębiorstw. Komponent JavaBeans dla przedsiębiorstw to powstający standard, przeznaczony do rozmieszczania stabilnych aplikacji klasy przedsiębiorstw o bardzo dużej skali.
Ponadto Data Access JavaBeans dostarcza bardzo wyszukanych funkcji baz danych, które są szczególnie przystosowane do produktu DB2. DB2 jest dostępne także bezpośrednio dzięki JDBC i SQLJ. Obsługiwane są także specyfikacje COM+ i CORBA.
Aplikacje WebSphere mogą być rozmieszczane na tej samej platformie co serwer sieci WWW i DB2 Universal Database. W przypadku DB2 for OS/390, VM, VSE i AS/400 WebSphere rozmieszczany jest na tej samej platformie co DB2 Connect Enterprise Edition.
Jest kilka rozwiązań WebSphere, jak również Web Studio i WebSphere Performance Packs. Do trzech wersji WebSphere należą: