Warsztat z kawałków

Coraz częściej kupowane są gotowe aplikacje pakietowe, a nie samodzielnie tworzone w firmie lub zamawiane u integratora. Komponentowe modele opracowania aplikacji powinny uatrakcyjnić samodzielne tworzenie aplikacji.

Coraz częściej kupowane są gotowe aplikacje pakietowe, a nie samodzielnie tworzone w firmie lub zamawiane u integratora. Komponentowe modele opracowania aplikacji powinny uatrakcyjnić samodzielne tworzenie aplikacji.

Komponenty i obiekty - to terminy, które niedawno pojawiły się w słowniku programisty. Jeszcze przed trzema laty programiści posługujący się elementami kontrolnymi OCX, tj. poprzednikami komponentów COM i DCOM, musieli samodzielnie zajmować się takimi zadaniami, jak odczytywanie interfejsu komponentu czy utrzymywanie połączenia z bazą danych. Obecnie te zadania wykonują gotowe pakiety narzędziowe.

Komponentowy model opracowania aplikacji potencjalnie pozwala zmniejszyć złożoność aplikacji i zachęca do powtórnego użycia części. Nim utrwaliły się standardy opracowane przez Microsoft, Sun Microsystems i konsorcjum OMG, twórcy aplikacji musieli polegać na opracowanych samodzielnie modelach komponentowych lub posługiwać się tymi, które oferowali producenci narzędzi. Nowe standardy mają jednak wadę - dostępne są od niedawna i nie obejmują pewnych możliwości, które były dostępne w firmowych modelach producentów narzędzi.

Jeszcze nie za późno

Specyfikacje modeli COM, CORBA i Enterprise JavaBeans pojawiły się w ostatniej chwili. Coraz częściej bowiem kupowane są gotowe aplikacje pakietowe, a nie samodzielnie tworzone oprogramowanie w firmie lub zamawiane u integratora. Jak podaje IDC, w ciągu 5 lat rynek aplikacji pakietowych będzie wart ok. 100 mld USD i przekroczy dwukrotnie rynek aplikacji na zamówienie.

W teorii komponentowe modele opracowania aplikacji powinny uatrakcyjnić samodzielne tworzenie aplikacji, jednak pod warunkiem że twórcy narzędzi odpowiednio dostosują ofertę do potrzeb. Większość narzędzi do opracowania aplikacji pozwala na automatyczne tworzenie komponentów COM, CORBA lub Java lub przynajmniej opracowanie interfejsu do nich. To jednak nie wystarcza. Bez precyzyjnych reguł łączenia komponentów w aplikacje, nie uda się stworzyć właściwego produktu. To wymaga sporej dawki kodu pisanego na miejscu lub dostępnego w narzędziu. Niebagatelny jest również problem zarządzania komponentami. W dużej aplikacji mogą pojawić się tysiące komponentów, programista musi więc dysponować odpowiednimi narzędziami.

Wszystko już było

Komponentowy sposób tworzenia aplikacji nie pojawił się wraz z modelami COM, CORBA czy JavaBeans. Liczący się dostawcy narzędzi, m.in. Magic Software Enterprises, Progress Software, Sterling Software i Uniface, oferowali narzędzia do opracowania wielowarstwowych aplikacji klient/serwer złożonych z komponentów. Nie istniały standardy komponentów ani komunikacji między nimi, dostawcy musieli więc opracować własne rozwiązania modularyzacji kodu - obecnie wielu z nich przechodzi do jednego (lub więcej niż jednego) z obozów modeli komponentowych.

Dla każdego według jego potrzeb

Microsoft i Sybase oferują zestawy produktów, które mają zainteresować każdego programistę. Visual Studio 6.0 zawiera wszystkie narzędzia programistyczne Microsoft. Każdy z elementów tego pakietu buduje komponenty COM. Oferta jest interesująca, ale tylko w środowisku Windows.

Sun ma również bogatą ofertę narzędzi w postaci pakietów Java Studio i Java Workshop, pozwalających na modelowanie, testowanie i używanie komponentów JavaBeans (na razie bez wsparcia Enterprise JavaBeans).

Sybase Enterprise Application Studio składa się z PowerBuilder 6.5, PowerJ 2.5, bazy SQL Anywhere 6.0, pakietu modelującego i serwera transakcyjnego Jaguar. W Jaguarze do tworzenia i uruchamiania aplikacji można posługiwać się komponentami COM i JavaBeans (na razie nie można posługiwać się w nim firmowym komponentami PowerBuildera).

Bogatą ofertę narzędziową ma również Inprise bazujący na wykorzystaniu komponentów CORBA, zarządzanych za pośrednictwem brokera obiektowego VisiBroker. Narzędzia Inprise mogą również tworzyć komponenty COM. Inprise nie oferuje jednak żadnego zestawu narzędziowego integrującego komponenty z platformą do ich uruchamiania. Opracowanie pełnej aplikacji wymaga napisania pokaźnego kodu łączącego komponenty z brokerem lub serwerem transakcyjnym Microsoft.