JavaBeans w działaniu

JavaBeans tworzą spójny model architektoniczny obiektów rozproszonych.

JavaBeans tworzą spójny model architektoniczny obiektów rozproszonych.

Dotychczas żaden z proponowanych modeli komponentów obiektowych nie zapewnia wykorzystania technologii obiektowej w solidnych aplikacjach przeznaczonych dla biznesu. Pierwsze na rynku technik obiektowych były elementy kontrolne VBX Microsoftu (choć niektórzy odmawiają im prawa do terminu "obiekt"), rozszerzane następnie w środowisku Windows do komponentów OCX/ActiveX.

Pojawienie się Javy, jako platformy i środowiska do opracowania i uruchamiania aplikacji, zostało przyjęte z zadowoleniem przez tych programistów, którzy tworzą aplikacje przeznaczone dla wielu platform. Jednak bez odpowiedniego modelu obiektowego Java pozostałaby kolejnym językiem - interesującym, wygodnym w użyciu i doskonale przystosowanym do tworzenia miniaplikacji (apletów) dla Internetu, ale nie znajdującym wykorzystania w przedsiębiorstwach. Opracowany ponad rok temu model komponentów Java, sprecyzowany w specyfikacji JavaBeans (stanowiącej część specyfikacji JDK 1.1), pozwala na budowanie aplikacji z małych wielokrotnie używanych komponentów. Specyfikacja, będąca dziełem JavaSoft (oddział Suna, zajmujący się wyłącznie technologią Java), umożliwia tworzenie i używanie komponentów wizualnych (do tworzenia graficznej postaci aplikacji) i niewizualnych (zajmujących się przetwarzaniem danych w tle).

Na rynku istnieją konkurencyjne modele komponentowe, o właściwościach funkcjonalnych zbliżonych do JavaBeans. W środowisku Windows są to elementy kontrolne VBX/OCX/ActiveX, w Unixie dostępne są liczne biblioteki komponentów obiektowych i elementów kontrolnych (widgets). IBM opracował technologię obiektów do tworzenia aplikacji biznesowych w ramach projektu San Francisco. Możliwości zawartych tu technologii są znacznie obszerniejsze od obu ww. technologii, mimo że IBM i firmy partnerskie tworzą je w Javie.

JavaBeans

Czym jest zatem to ziarenko kawy (Java - gatunek kawy, bean - ziarno) JavaBean i czym różni się np. od miniaplikacji (apletu)? Elementy JavaBeans są komponentami programowymi, przeznaczonymi do łączenia z innymi komponentami w celu tworzenia kompletnych aplikacji. Z JavaBeans można utworzyć aplikację lub aplet, ale również z apletu lub większej aplikacji można utworzyć komponent JavaBean.

Poszczególne JavaBeans mogą działać różnie, ale mają one wspólne cechy:

  • Możliwość introspekcji - narzędzie, używające komponentów JavaBeans do tworzenia aplikacji, może poznać jak działa dowolny JavaBean.

  • Modyfikowalność (customization) - pozwala programiście na zmianę pewnych właściwości gotowego komponentu w celu dostosowania go do potrzeb, mimo braku dostępu do jego kodu źródłowego.

  • Obsługa zdarzeń - umożliwia komunikowanie komponentów między sobą.

  • Właściwości - dostęp do właściwości komponentu pozwala na wielokrotne wykorzystywanie komponentów i programowanie aplikacji przy ich użyciu.

  • Trwałość (persistence) - umożliwia zachowanie zmienionego JavaBean do przyszłego użycia.
Wszystkie te właściwości pozwalają na używanie w jednym środowisku wielu JavaBeans, które mogą współpracować i wzajemnie komunikować się. JavaBean to klasa obiektowa Java, zachowująca pewne właściwości i sposób obsługi zdarzeń. Programista, tworzący klasę obiektów dla potrzeb aplikacji, może jednocześnie zapamiętać ją jako JavaBean, pod warunkiem że zastosuje się do pewnych reguł.

JavaBeans można modyfikować w środowisku projektowym, natomiast nie jest to możliwe w środowisku ich uruchamiania. W efekcie nie można np. dodać przycisku do dokumentu opracowywanego za pomocą edytora tekstowego Java, tak jak w dokumentach Windows. Nie pozwala to również na operacje typu przeciągnij i upuść (drag and drop) znane z Windows. Jest to jedno z poważniejszych ograniczeń JavaBeans.

Środowiskiem uruchomieniowym JavaBeans są przeglądarki zgodne ze specyfikacją JDK 1.1, w szczególności 4.x, Netscape Communicator i BeanBox - samodzielna maszyna wirtualna Java dostarczana razem z Bean Development Kit.

W przeciwieństwie do apletów, komponenty JavaBeans można zapisywać na dysku lokalnym lub sieciowym, by je wykorzystać w przyszłości. Możliwość zapisania JavaBean dostępna jest w ramach właściwości zwanej serializacją (serialization), pozwalającej na zachowanie komponentu w postaci pliku upakowanego (Java Archive - JAR), zgodnie ze standardowym algorytmem ZIP. Plik tak upakowany może również zawierać tzw. manifest, opisujący pliki w archiwum i ich przeznaczenie.


TOP 200