Oracle WebCenter 11g czyli Przedsiębiorstwo 2.0

Transkrypt

Oracle WebCenter 11g czyli Przedsiębiorstwo 2.0
XVI Konferencja PLOUG
Kościelisko
Październik 2010
Oracle WebCenter 11g
czyli Przedsiębiorstwo 2.0
Mikołaj Morzy
Instytut Informatyki Politechniki Poznańskiej
[email protected]
Abstrakt. Oracle WebCenter 11g to środowisko służące do wdrażania produktów Web 2.0 w przedsiębiorstwach komercyjnych.
W skład WebCenter 11g wchodzą narzędzia do tworzenia aplikacji społecznościowych, portali biznesowych, czy serwisów interi intranetowych opartych na ideach Web 2.0, takich jak: komunikatory internetowe, blogi, serwisy wiki, fora dyskusyjne, kanały RSS,
tagi i folksonomie, sieci społecznościowe czy komunikacja za pomocą VoIP. Platforma Oracle WebCenter 11g umożliwia szybkie
wdrożenie takiej architektury do systemu informatycznego przedsiębiorstwa i organizacji, zarówno w formie gotowego pakietu, jak
i zestawu narzędzi umożliwiającego samodzielne stworzenie rozwiązania najlepiej dopasowanego do danej rzeczywistości biznesowej.
W artykule przedstawiono ogólną koncepcję Oracle WebCenter 11g i opisano główne składowe tej platformy: WebCenter Framework,
WebCenter Services i WebCenter Spaces.
Informacja o autorze. Dr hab. inż. Mikołaj Morzy jest adiunktem w Instytucie Informatyki Politechniki Poznańskiej. Jego zainteresowania naukowe koncentrują się przede wszystkim na tematyce eksploracji danych, jest on autorem ponad czterdziestu publikacji dotyczących tej tematyki. Drugą dziedziną zainteresowań i głównym tematem działalności dydaktycznej Mikołaja Morzego są technologie
aplikacji internetowych i rozproszonych oraz technologie związane z bazami danych i hurtowniami danych.
Oracle WebCenter 11g, czyli Przedsiębiorstwo 2.0
7
1. Wprowadzenie do Web 2.0
Jesteśmy dziś świadkami rewolucji całkowicie zmieniającej oblicze współczesnego Internetu.
Rewolucję tę najczęściej określa się mianem Web 2.0. Zmiany, opisywane tym zbiorczym terminem, obejmują zarówno model wytwarzania oprogramowania sieciowego, jak i filozofię i architekturę systemów opartych na komunikacji. W szczególności, przyjęcie paradygmatu Web 2.0
w istotny sposób wpływa na podstawową architekturę aplikacji, a co za tym idzie, na charakterystykę danych powstających w środowisku aplikacji sieciowych. Najważniejszą i najbardziej brzemienną w skutki zmianą jest uwzględnienie aspektu społeczności użytkowników podczas projektowania i implementowania aplikacji. Współczesne serwisy społecznościowe, takie jak Facebook,
MySpace, YouTube, BlogLines, Netvibes, i setki innych , czerpią siłę, oryginalność i innowacyjność właśnie z najważniejszego zasobu – społeczności użytkowników serwisu. Serwisy społecznościowe można traktować jako puste formy, wypełniane treścią przez społeczność. Ową treść
nazywamy ogólnie danymi społecznościowymi (ang. social-driven data), termin ten obejmuje
zarówno dokumenty tekstowe (np. opinie na temat produktów i usług, artykuły w encyklopediach
i bazach wiedzy, wpisy w blogach, komentarze na forach internetowych), dokumenty multimedialne (np. zdjęcia współdzielone w ramach serwisów fotograficznych, pliki wideo ładowane,
oglądane i komentowane w serwisach wideo), ale także dane reprezentujące związki i relacje występujące między użytkownikami (np. fakt zawarcia transakcji handlowej w ramach serwisu aukcyjnego lub fakt pozostawania w związku pokrewieństwa w ramach serwisu genealogicznego).
Termin „Web 2.0” został zaproponowany przez Tima O’Reilly’ego (O'Reilly, 2006) i zdefiniowany przez niego w następujący sposób:
Web 2.0 to rewolucja w przemyśle komputerowym spowodowana przejściem do postrzegania sieci Internet jako platformy, a także próba zrozumienia zasad odnoszenia sukcesów na
tej platformie. Najważniejsza z owych zasad nakazuje budowę aplikacji wykorzystujących
efekty sieciowe do samoulepszania się w miarę postępującego upowszechniania się aplikacji.
Powyższa definicja zjawiska, jakim jest Web 2.0, może być rozszerzona o następujące zasady:
• wieczna wersja beta: oprogramowanie nie jest artefaktem samym w sobie, jest raczej
sposobem nawiązywania dialogu i interakcji z użytkownikami,
• luźno połączone niewielkie fragmenty: zarówno dane, jak i usługi, powinny być publicznie dostępne w postaci niewielkich jednostek (np. usług sieciowych), podobnie,
zewnętrzne dane i usługi powinny być wykorzystywane powtórnie gdy tylko jest to
możliwe,
• oprogramowanie ponad poziomem pojedynczego urządzenia: aplikacje nie są na trwałe
związane z platformą, urządzeniem czy serwerem, zamiast tego aplikacje funkcjonują
w przestrzeni sieci Internet i są dostępne za pomocą wielu różnych interfejsów klienckich,
• prawo zachowania zysków: otwarte interfejsy programistyczne oraz standardowe protokoły dostępu nie stoją w sprzeczności z zasadami ekonomii lub pojęciem przewagi
konkurencyjnej, firmy mogą budować swoją pozycję rynkową pomimo (lub właśnie
dzięki) korzystaniu z otwartej architektury,
• dane to nowy „Intel inside": głównym źródłem przyszłej dominacji rynkowej i uzyskiwania przewagi konkurencyjnej nie jest zamknięte oprogramowanie lub sprzęt, lecz
zawartość generowana przez użytkowników, upowszechnienie się formatów oraz zajęcie obszarów nazw (ang. namespaces).
Powyższe reguły można potraktować jak zasady zmiany paradygmatu, lub sygnały transformacji modelu biznesowego wytwarzania oprogramowania na platformie sieci Internet. Pierwsza re-
8
Mikołaj Morzy
guła dyskredytuje oprogramowanie jako artefakt, efekt końcowy procesu wytwarzania oprogramowania, lecz definiuje oprogramowanie jako środek i narzędzie do angażowania użytkowników
i nawiązywania z nimi dialogu. Wkład użytkowników w tworzenie oprogramowania jest ogromny
i ma kluczowe znaczenie dla końcowego sukcesu. Pierwsza reguła współbrzmi z drugą regułą,
która nakazuje otwieranie aplikacyjnych interfejsów programistycznych (ang. application programming interface, API), udostępnianie usług szerokiej publiczności oraz współdzielenie danych
aplikacyjnych. W świetle sukcesów aplikacji takich jak Google Maps, Facebook czy Amazon ta
reguła jest trudna do podważenia, jako że upowszechnienie się tych aplikacji jest spowodowane
przede wszystkim dostępnością aplikacji, ale także otwartością interfejsów i umożliwieniem użytkownikom tworzenia własnych aplikacji na bazie usług i danych oferowanych przez otwarte API.
Taka otwartość umożliwia tysiącom użytkowników tworzenie aplikacji, które dodają wartość do
bazowego produktu, przyczyniając się w ogromnym stopniu do dalszego upowszechniania usługi.
Dobrym przykładem tego zjawiska jest Facebook, gdzie w sześć miesięcy od otwarcia API i danych liczba dostępnych aplikacji napisanych przez zewnętrznych twórców osiągnęła liczbę
10 000. Innym przykładem jest aplikacja Yahoo! Pipes, agregator kanałów RSS umożliwiający
tworzenie aplikacji typu mash-up, czyli pionowych aplikacji łączących dziesiątki zewnętrznych
źródeł danych w jeden przepływ logiki i danych. W chwili obecnej dostępne są tysiące takich aplikacji mash-up które agregują informacje i dane ze źródeł tak różnych, jak: usługi współdzielenia
zdjęć, prognozy pogody publikowane przez US National Oceanic and Atmospheric Administration, notowania giełdowe z Google Finance, czy listy ulubionych utworów pobrane z biblioteki
iTunes. To właśnie ponowne użycie danych oraz innowacyjne powiązanie danych tworzy niezwykłą i niepowtarzalną synergię aplikacji Web 2.0. Trzecia reguła sugeruje odejście od tradycyjnych
architektur oprogramowania, takich jak architektura klient-serwer, na rzecz nowoczesnych architektur typu wielowarstwowego (ang. multi-tier architecture) lub architektur zorientowanych na
usługi (ang. service-oriented architecture). Powodem sformułowania tej reguły jest obserwowany
w ostatnich latach rozwój platformy sprzętowej urządzeń przenośnych. Powszechna dostępność
takich urządzeń oraz ich stale rosnące możliwości przetwarzania danych powodują, że okno czasowe dostępne do tworzenia oprogramowania staje się niezwykle wąskie. Z tej perspektywy racjonalne wydaje się porzucenie tworzenia oprogramowania dedykowanego na rzecz tworzenia oprogramowania funkcjonującego niezależnie od bieżącej architektury sprzętowej. Czwarta reguła jest
aksjomatem całego ruchu open-source. Główną ideę można zawrzeć w stwierdzeniu, że zyski
i przewaga konkurencyjna nie leżą w zamkniętym kodzie i licencjach, lecz w innowacyjności,
powszechności akceptacji i adaptacji oprogramowania. O ile jeszcze parę lat temu ten aksjomat
mógł się wydawać wątpliwy, sukces finansowy wielu przedsięwzięć Web 2.0 zdaje się potwierdzać prawdziwość przekonania o zgodności modelu otwartego oprogramowania z zasadami gospodarki rynkowej. Wreszcie, piąta reguła głosi, że najważniejszym zasobem nie jest oprogramowanie ani sprzęt, lecz dane same w sobie. Zgodnie z tą regułą, to właśnie dane stają się podstawowym narzędziem uzyskiwania przewagi konkurencyjnej. To przekonanie od wielu lat było wyrażane przez środowisko związane z bazami danych, lecz nie było powszechnie akceptowane przez
ogólnie pojętą informatykę. Na szczęście, na naszych oczach następuje zmiana podejścia do danych. Warto zauważyć, że platformy programowe zmieniają się co mniej więcej pięć lat, platformy sprzętowe zmieniają się co mniej więcej siedem lat, natomiast dane pozostają na zawsze. To
stwierdzenie nie jest żadną przesadą. Większość współczesnych baz danych w ogóle nie rozważa
usuwania danych a większość popularnych serwisów i usług internetowych nie nakłada żadnych
praktycznych ograniczeń na wolumen przetwarzanych danych (przykładowo, w chwili obecnej
każdy użytkownik poczty GMail ma do dyspozycji 7.5 GB darmowego miejsca na swoją pocztę,
przy czym dziennie ten wolumen zwiększa się o 3.5 MB). Przechowywanie i przeszukiwanie danych staje się coraz łatwiejsze dzięki postępom w technologii bazodanowej, ale otrzymanie sygnału zwrotnego lub komentarza od użytkowników jest trudne. Mantrą zwolenników technologii
Web 2.0 jest przykazanie: „przekuj użytkowników w uczestników”. Oznacza to konieczność tworzenia warunków i zachęt dla użytkowników aby uczestniczyli w działaniu oprogramowania lub
usług i dostarczali swoich kontrybucji. Faktycznie, wiele rozwiązań z domeny Web 2.0 jest silnie
Oracle WebCenter 11g, czyli Przedsiębiorstwo 2.0
9
uzależnione od wkładu użytkowników: folksonomie, serwisy wiki, systemy rekomendacyjne, czy
sieci blogów nie mogą funkcjonować bez zaangażowania użytkowników. Firmy, którym udaje się
przyciągnąć największy tłum użytkowników, mają największe szanse na zdobycie przewagi konkurencyjnej. Poza rzeszą zaangażowanych fanów źródłami sukcesu mogą być także przestrzenie
nazw i formaty. Przykładami firm, które zbudowały swój sukces na upowszechnieniu swoich przestrzeni nazw, są między innymi Gracenote Inc. (firma zarządzająca bazą danych CDDB, ang.
Compact Disk Database) czy VeriSign (firma zarządzająca certyfikatami, płatnościami i serwerami nazw). Z kolei sukces zamkniętych formatów, których upowszechnienie się spowodowało, że
mimo zamkniętego charakteru stały się de facto standardami, dobrze ilustrują przypadki formatów
Microsoft Office czy Apple iTunes.
Powyższe reguły stanowią sygnał zmiany paradygmatu wytwarzania oprogramowania oraz korzystania z oprogramowania. Oznaczają nowe podejście do użytkowników i akceptację kolaboracji
i współpracy jako głównych źródeł innowacji i rozwoju. W tym miejscu należy także oddać głos
przeciwnikom technologii Web 2.0, którzy twierdzą, że cały szum medialny wokół Web 2.0 jest
szumem i niczym więcej. Postrzegają oni Web 2.0 tylko jako zbiór słów-kluczy, kolekcję młodzieżowych aplikacji i określony szablon graficzny. Uważają, że koncepcja Web 2.0 to kolejna
bańka spekulacyjna, podobna do bańki dot-comów która pękła w marcu 2000 roku. Prawdopodobnie, najbardziej wokalnym przeciwnikiem koncepcji Web 2.0 jest Andrew Keen, który pisze
(Keen, 2007)
To, co w rzeczywistości przynosi rewolucja Web 2.0, to zbiór powierzchownych obserwacji
na temat otaczającego nas świata a nie wyważony osąd. Cały przemysł informacyjny zostaje
przekazany rzeszy 100 milionów blogerów, którzy tworzą czysty hałas próbując wszyscy
jednocześnie mówić o sobie. […] W tym kulcie amatorów ci, którzy wiedzą najwięcej, są
prześladowani przez tych, którzy wiedzą najmniej.
Czas pokaże, czy tak surowe słowa krytyki były uzasadnione w odniesieniu do technologii
Web 2.0.
2. Oracle WebCenter 11g
Jak wykazano wyżej, główną ideą przyświecającą technologiom Web 2.0 jest aktywizacja
użytkowników i promocja uczestnictwa w tworzeniu oprogramowania. O ile aplikacje Web 2.0 są
powszechne na rynku Internetu „konsumenckiego”, tj. są w pełni dostępne dla zwykłych użytkowników sieci, znakomita większość współczesnych przedsiębiorstw wewnętrznie nie załapała się
jeszcze na rewolucję Web 2.0 i nie dostarcza swoim pracownikom żadnych narzędzi i mechanizmów umożliwiających aktywne uczestnictwo wykraczające poza prostą obsługę systemu informatycznego w ramach wykonywania obowiązków służbowych. Ten rozdźwięk między indywidualnymi doświadczeniami pracowników zdobywanymi w sferze prywatnej a środowiskiem
pracy oferowanym przez pracodawcę może być frustrujący. Coraz częściej pracownicy domagają
się dostępu do narzędzi zwiększających produktywność, łatwych w obsłudze, a przede wszystkim
przenoszących mechanizmy społecznościowe ze świata Web 2.0 bezpośrednio do środowiska pracy. Niektóre przedsiębiorstwa dostrzegają, że elastyczne narzędzia Web 2.0 udostępnione pracownikom mogą w dramatyczny sposób podnieść ich produktywność, zwiększyć stopień interakcji
i współpracy między pracownikami i usprawnić wykonywanie procesów biznesowych poprzez
szybki i efektywny przepływ wiedzy i kompetencji między członkami kolaborujących ze sobą
grup. Najczęściej, przedsiębiorstwa które chcą utrzymać się w awangardzie informatycznej rewolucji kierują się ku architekturom zorientowanym na usługi przy implementacji swoich witalnych
systemów informatycznych. Jednak aby w pełni skorzystać z zalet biznesowych modelu Web 2.0
wszyscy pracownicy (a nie tylko działy IT) muszą mieć możliwość współuczestnictwa w tworzeniu aplikacji. Tę możliwość daje dopiero wprowadzenie narzędzi Web 2.0 bezpośrednio do serca
przedsiębiorstwa.
10
Mikołaj Morzy
Oracle WebCenter to platforma umożliwiająca tworzenie bogatych, otwartych, współdzielonych aplikacji Web 2.0 na potrzeby korporacyjnych systemów informatycznych. Oracle WebCenter może być postrzegany na wiele sposobów: jako platforma programistyczna, jako architektura
szkieletowa rozszerzająca tradycyjne JavaServer Faces (JSF), wreszcie, jako zbiór programów
wprowadzających narzędzia Web 2.0 do tradycyjnych systemów informatycznych. To ściśle zintegrowane, całkowicie oparte na standardach rozwiązanie umożliwiające tworzenie dowolnych
portali, stron internetowych i aplikacji typu mash-up w sposób samodzielny przez pracowników.
Oracle WebCenter jest bardzo silnie zorientowany biznesowo, to produkt skierowany przede
wszystkim do użytkowników końcowych, dzięki któremu mogą oni w łatwy sposób wykorzystać
technologie doskonale sobie znane z aplikacji Web 2.0 w swej codziennej pracy. Zbiór programów
wchodzących w skład Oracle WebCenter pozwala na tworzenie bogatych aplikacji internetowych
(ang. Rich Internet Application, RIA), budowanie portali dla różnych kanałów komunikacji (np.
dla urządzeń mobilnych), a także zezwala na wykorzystanie aplikacji dostarczających zawartość
i aspekt społecznościowy do codziennej pracy. Między innymi, Oracle WebCenter umożliwia
łatwe włączenie komunikatorów internetowych, blogów, serwisów wiki, sieci społecznych, forów
dyskusyjnych, czy komunikatorów VoIP do aplikacji korporacyjnych.
W skład Oracle WebCenter wchodzi siedem głównych komponentów:
• Oracle WebCenter Framework: jest to architektura szkieletowa bazująca na JavaServer
Faces (JSF) i korzystająca z dynamicznych i asynchronicznych kontrolek oraz portletów do
budowania łatwych do personalizacji aplikacji. Architektura szkieletowa zawiera także
Composer and Business Dictionary, repozytorium kontrolek które umożliwia autoryzowanym użytkownikom na intuicyjne włączanie zasobów informacyjnych przedsiębiorstwa
do aplikacji przy użyciu prostego interfejsu graficznego.
• Oracle WebCenter Services: jest to komponent zawierający usługi społecznościowe, takie
jak: wiki, blogi, kanały RSS, fora dyskusyjne, tagi, linki, przepływy pracy BPEL, czy panele analityczne, zaimplementowane w postaci usług SOA i opakowane w mechanizmy
ułatwiające włączanie tych usług bezpośrednio do aplikacji.
• WebCenter Spaces: przygotowany i gotowy do użycia zbiór aplikacji do pracy grupowej,
zarządzania informacjami osobowymi, tworzenia grup projektowych i zespołów.
• Additional Value-Add Components: w ramach licencji na Oracle WebCenter użytkownicy
mogą wykorzystać także zestaw dodatkowych narzędzi Oracle (w ramach ograniczonych licencji), w tym Oracle Universal Content Managememnt, Secure Enterprise Search, oraz
Presence and Communications Services.
• Oracle WebCenter Interaction: zbiór dodatkowych komponentów programistycznych
umożliwiających wdrożenie aplikacji społecznościowych na platformach oferujących natywne wsparcie dla architektur szkieletowych Microsoft .NET i Java EE
• Oracle WebLogic Portal: infrastruktura zgodna z architekturą zorientowaną na usługi, ści-
śle zintegrowana z serwerem aplikacji Web Logic, umożliwiająca tworzenie skalowalnych
aplikacji typu portalowego z predefiniowanych komponentów.
• Oracle WebCenter Anywhere: zbiór usług na potrzeby urządzeń przenośnych dzięki któ-
rym użytkownicy takich urządzeń mogą się dołączać do aplikacji Oracle WebCenter.
Podstawowym narzędziem do tworzenia aplikacji Oracle WebCenter jest Oracle JDeveloper.
W rzeczywistości cała architektura szkieletowa Oracle WebCenter jest dostępna w postaci rozszerzenia do JDeveloper, umożliwiającego tworzenie aplikacji portalowych i aplikacji z komponentami społecznościowymi bezpośrednio w środowisku JSF. W szczególności, rozszerzenie to
pozwala na dowiązywanie portletów do aplikacji JSF oraz na pełną konfigurację poszczególnych
komponentów aplikacji w trybie uruchomieniowym aplikacji. Istotną rolę w produkcie Oracle
WebCenter grają standardy: środowisko tworzenia portletów jest w pełni zgodne ze standardami
Oracle WebCenter 11g, czyli Przedsiębiorstwo 2.0
11
JSR 168 oraz Web Services for Remote Portlets (WSRP) w wersjach 1.0 i 2.0. Dodatkowo, produkt zawiera także JSF Portlet Bridge, narzędzie do automatycznej konwersji aplikacji JSF do
postaci zgodnych z portletami JSR 168. Inne standardy, które są obecne w Oracle WebCenter, to
między innymi Java Content Repository JSR 170 (standard dotyczący zasad publikowania zawartości kontrolek danych) i JSR 227 (standard dotyczący konstrukcji kontrolek danych).
Najogólniej rzecz ujmując, Oracle WebCenter to środowisko łączące w sobie deklaratywny,
oparty na standardach sposób tworzenia oprogramowania znany z JavaServer Faces, z technologią
portali i sieci społecznych. W efekcie, uzyskujemy synergiczne środowisko zintegrowanych usług
Web 2.0, których głównym celem jest aktywizacja użytkowników i ich świadoma partycypacja
w tworzeniu, rozwoju i wykorzystywaniu korporacyjnych systemów informatycznych. Rysunek 1
przedstawia przeglądowy widok całego produktu.
Rysunek 1. Najważniejsze elementy Oracle WebCenter 11g (Hauser, 2009)
Poniżej opisano szczegółowo poszczególne komponenty składające się na Oracle WebCenter.
2.1. WebCenter Framework
WebCenter Framework to rozszerzenie przeznaczone dla narzędzia JDeveloper, umożliwiające
włączenie komponentów Web 2.0 bezpośrednio do aplikacji JSF i ADF w sposób deklaratywny.
Cechy charakterystyczne aplikacji portalowych, takie jak: portlety, personalizacja czy integracja
stają się bezpośrednio dostępne z poziomu aplikacji JSF. Komponenty WebCenter mogą być włączane do aplikacji indywidualnie (np. aplikacja może wykorzystać jedynie komponent forum dyskusyjnego lub komponent komunikatora), lecz można także przygotować aplikację JSF wykorzystującą pełną paletę kontrolek i usług WebCenter. Dużym ułatwieniem jest tu dostarczenie gotowego szablonu aplikacyjnego WebCenter, który może być w JDeveloper punktem wyjścia dla
konstrukcji aplikacji. Integracja WebCenter i JSF/ADF w JDeveloper jest całkowita, doświadczeni
programiści mogą rozpocząć przygotowywanie aplikacji wyposażonych w narzędzia społecznościowe w zasadzie natychmiast. Wszystkie komponenty WebCenter (komunikatory, blogi, ściany
komunikatów, itp.) są dostępne zarówno z palety komponentów, jak i w postaci kontrolek danych,
które od razu mogą zostać powiązane z elementami interfejsu użytkownika. Dodatkowo, komponenty WebCenter posiadają kreatory automatyzujące często powtarzające się czynności, takie jak
12
Mikołaj Morzy
przygotowanie metadanych dla portletu, włączenie istniejącego portletu do aplikacji, utworzenie
kontrolki danych dla zasobu WebCenter lub przygotowanie deklaratywnych reguł dostępu i zabezpieczenia aplikacji. Poprzez przeniesienie znacznej części kodowania do kreatorów i zastąpienie
kodu programu narzędziami deklaratywnymi WebCenter Framework drastycznie skraca czas potrzebny na przygotowanie aplikacji i zmniejsza liczbę błędów.
Praca z szablonem aplikacyjnym WebCenter jest bardzo podobna do pracy z tradycyjną aplikacją JSF/ADF, w ramach szablonu powstają dwa projekty połączone w formie jednej aplikacji.
Pierwszy projekt zawiera model danych aplikacji i nosi nazwę domyślną Model, drugi projekt
zawiera portlety, kontrolki danych i komponenty interfejsu użytkownika i nosi nazwę domyślą
ViewController. Począwszy od wersji ADF 11g preferowaną techniką tworzenia aplikacji jest
wykorzystywanie komponentów typu Task Flow. Komponenty Task Flow to wbudowane kontrolki sterujące logiką przetwarzania, logiką transakcyjną i logiką sesji w sposób deklaratywny.
WebCenter Framework w pełni wykorzystuje technologię Task Flow do projektowania aplikacji.
W definicji zadania zawarte są definicje stron, koniecznych do ukończenia zadania, warunki wyjścia z zadania, oraz logika przechodzenia między stronami. WebCenter Framework umożliwia
zaprogramowanie aplikacji w sposób wizualny za pomocą komponentów Task Flow, a następnie
udostępnia nadrzędny komponent Task Flow jako portlet, który może być bezpośrednio włączony
do aplikacji. W przeciwieństwie do tradycyjnych portletów, portlety wygenerowane na podstawie
komponentów Task Flow mogą posiadać logikę transakcyjną, co jest szczególnie atrakcyjną cechą
tego rozwiązania.
2.2. WebCenter Services
WebCenter Services to zbiór gotowych do użycia komponentów, implementujących najbardziej
typowe usługi aplikacji Web 2.0. Usługi te, nazywane także Social Computing Services, są udostępnione w postaci komponentów Task Flow, które mogą być bezpośrednio włączone do aplikacji. Każdej usłudze odpowiada specyficzny komponent Task Flow skonstruowany w taki sposób,
aby można go było wykorzystać bez żadnych dodatkowych modyfikacji w aplikacji. Jeśli domyślne działanie komponentu nie spełnia wymagań aplikacji, komponent może być dowolnie modyfikowany w celu dopasowania go do potrzeb aplikacji. Wszystkie usługi zaimplementowane w ramach WebCenter Services spełniają określone standardy, np. IMAP dla komponentu do wysyłania
poczty, JSR 116 dla komponentu sygnalizującego dostępność użytkownika online, JSR 168 i 286
dla portletów, JSR 301 dla forów dyskusyjnych, itp. Zgodność ze standardami umożliwia stosunkowo łatwe pisanie adapterów pozwalających na włączenie komponentów WebCenter Services do
środowisk innych niż JSF/ADF.
Naczelną zasadą przyświecającą WebCenter Services jest łączenie użytkowników i usług poprzez mechanizmy społecznościowe. Wiele usług zostało zaprojektowane z myślą o pracy grupowej i zespołowej, a także o podnoszeniu wydajności i produktywności poprzez umożliwienie szeroko zakrojonej kolaboracji i wymiany doświadczeń i wiedzy. Ogólnie, usługi WebCenter Services można podzielić na dwie duże grupy:
• usługi grupowe: należą do nich usługi, których głównym celem jest ułatwienie pracy gru-
powej i kolaboracji we współdzielonym środowisku społecznym, do grupy tej zaliczają się
między innymi: ogłoszenia i powiadomienia, dyskusje, blogi, komunikatory i usługi powiadamiania o dostępności online, repozytoria typu wiki, dokumenty, wydarzenia, linki, listy,
tagi, grafy aktywności, grafy powiązań między ludźmi, usługi analityczne (WebCenter
Analytics), usługi związane z zabezpieczaniem aplikacji (WebCenter Ensemble),
• usługi indywidualne: należą do nich usługi, których głównym celem jest podnoszenie pro-
duktywności indywidualnych osób, np. usługa wysyłania poczty, usługa utrzymująca listę
zadań, notatki, lista najnowszych aktywności, kanały RSS czy usługa wyszukiwania.
Oracle WebCenter 11g, czyli Przedsiębiorstwo 2.0
13
WebCenter Services obejmuje ponad 50 komponentów Task Flow i portletów dostarczanych
w postaci jednego pakietu. Poniżej opisano najważniejsze komponenty, których użycie może
w znaczący sposób zmienić charakter systemu informatycznego, w którym wdrożono WebCenter.
• tagi: mechanizm etykietowania umożliwia użytkownikom powiązanie dowolnego zasobu
z dowolnym słowem kluczowym lub etykietą. W ten sposób użytkownicy mogą znacznie
szybciej i wygodniej odnaleźć zasób na podstawie słów kluczowych skojarzonych z zasobem. Dodatkowo, użytkownicy widzą etykiety skojarzone z danym zasobem przez innych
użytkowników, dzięki czemu łatwiej jest ustalić wspólne słownictwo lub usystematyzować
zasoby systemu informatycznego w sposób bardziej „naturalny”, tj. zgodny z określeniami
(czasem potocznymi) wykorzystywanymi przez użytkowników. Ponieważ z każdym zasobem można skojarzyć wiele etykiet, mechanizm etykietowania prowadzi do wieloklasyfikacji zasobów. Analiza etykiet kojarzonych z zasobami przez użytkowników może wykazać
np. podobieństwa semantyczne lub funkcjonalne między zasobami, które wcześniej nie były
ze sobą łączone. Każda etykieta powiązana z zasobem wchodzi w skład tzw. chmury tagów
(ang. tag cloud), która jest najpopularniejszym sposobem wizualizacji kolekcji etykiet związanych z zasobem. W chmurze tagów reprezentowane są etykiety związane z zasobem uporządkowane w porządku alfabetycznym, przy czym względny rozmiar etykiety odpowiada
częstotliwości jej wykorzystywania. Dzięki temu najpopularniejsze etykiety stają się dobrze
widoczne. Na Rysunku 2a przedstawiono przykładowy komponent chmury tagów. Poza
samym mechanizmem etykietowania WebCenter zawiera także aplikację Tag Center będącą
centralnym punktem zarządzania etykietami i ich powiązaniem z zasobami.
• komunikator: usługa Instant Messaging and Presence umożliwia użytkownikom publiko-
wanie swojego statusu i stanu dostępności online. Usługa bazuje na standardzie komunikatorów internetowych o nazwie SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) i pozwala na wiązanie wydarzeń i akcji do kontrolek JSF. Użytkownicy
mają do dyspozycji takie akcje jak: wysyłanie wiadomości tekstowych, komunikację za
pomocą wiadomości głosowych, nawiązywanie połączeń wideo oraz nawiązywanie połączeń konferencyjnych. Aplikacje korzystające z usługi Instant Messaging and Presence mogą też reagować na zdarzenia inicjowane przez komunikator, np. mogą automatycznie wysłać wiadomość email w momencie pojawienia się użytkownika w trybie online. Rozszerzenie aplikacji korporacyjnej o możliwość łatwego nawiązywania połączeń tekstowych, telefonicznych i wideo niesie za sobą trudne do przecenienia korzyści jeśli chodzi o produktywność poszczególnych użytkowników. Technicznie, komunikacja może wykorzystywać
dostarczany wraz z WebCenter serwer Oracle Communications and Mobility Server i komunikator Oracle Communicator, ale istnieje także możliwość powiązania usługi z innymi
dostawcami. Przykład aplikacji wykorzystującej komunikator przedstawiono na Rysunku 2b.
Rysunek 2a. Chmura tagów (Hauser, 2009)
Rysunek 2b. Komunikator (Hauser, 2009)
• mail: usługa pocztowa umożliwia przekazywanie wiadomości email bezpośrednio do apli-
kacji i interakcję z dowolnym serwerem pocztowym zgodnym ze standardami IMAP
14
Mikołaj Morzy
i SMTP. Komponent Task Flow reprezentujący tę usługę umożliwia symulację klienta
pocztowego wewnątrz aplikacji. Usługa może być łatwo zintegrowana z MS Exchange.
• kalendarz: usługa kalendarza jest szczególnie przydatna w przypadku stron współdzielo-
nych przez użytkowników należących do jednej grupy, kontrolka reprezentująca tę usługę
posiada typowy interfejs umożliwiający przeglądanie zdarzeń w widokach dziennych, tygodniowych, miesięcznych, a także edycję poszczególnych zdarzeń. Ciekawą funkcjonalnością tej usługi jest możliwość konfigurowania przypomnień związanych z nadchodzącymi
wydarzeniami.
• wydarzenia: to usługa powiązana z kalendarzem, umożliwiająca definiowanie wydarzeń
współdzielonych (np. spotkań) przez użytkowników należących do jednej grupy. Aplikacja
WebCenter Spaces wykorzystuje tę usługę do wypełniania widoków na stronach Group
Spaces.
• linki: usługa umożliwia użytkownikom łatwą wymianę dokumentów i zasobów poprzez
przesyłanie sobie linków i wiązanie linków z zasobami, dzięki czemu poszczególne zasoby
są umieszczane w kontekście powiązanej informacji. Umożliwienie użytkownikom bardzo
szybkiej i intuicyjnej nawigacji do powiązanych zasobów powoduje, że produktywność
użytkowników dramatycznie wzrasta. Dodatkowo, jest to bardzo wygodny mechanizm, ponieważ umożliwia użytkownikom pobieranie dodatkowej informacji bez konieczności
opuszczania aplikacji (co zawsze wiąże się z przełączeniem kontekstu i może być czasochłonne).
• ostatnie aktywności: ta usługa stanowi panel kontrolny lub administracyjny, dzięki któremu
użytkownik może łatwo dostrzec, jakie zmiany miały miejsce w poszczególnych usługach,
repozytoriach, itp. Poszczególne usługi wykorzystują usługę Recent Activities do przesyłania notyfikacji o zdarzeniach (np. utworzenie spotkania, dodanie dokumentu do biblioteki,
itp.)
Wykorzystanie usług WebCenter Services wymaga ich włączenia do aplikacji, co z kolei pociąga za sobą konieczność angażowania pracowników IT w celu implementacji nowej funkcjonalności w istniejących aplikacjach, nawet, jeśli koszt i czas takiej implementacji jest ograniczony do
minimum dzięki modułowej konstrukcji usług. Aby jeszcze bardziej upowszechnić wykorzystanie
usług Web 2.0 w aplikacjach korporacyjnych Oracle udostępnia dodatkowe narzędzie WebCenter
Composer and Business Dictionary. Jest to narzędzie do produkcji aplikacji typu mash-up, podobne nieco do Yahoo! Pipes. Dzięki WebCenter Composer and Business Dictionary użytkownicy
biznesowi mogą modyfikować zawartość swoich portali za pomocą prostego i przejrzystego interfejsu, a także tworzyć zupełnie nowe strony wypełnione kontrolkami i źródłami danych. Do tworzenia nowych stron służy specjalny kreator, który uruchamia WebCenter Composer umożliwiając
użytkownikom przeglądanie biblioteki gotowych do użycia kontrolek i usług. Wszystkie kontrolki
mogą być dodatkowo zabezpieczane przed niepowołanym dostępem za pomocą deklaratywnego
mechanizmu bezpieczeństwa bazującego na koncepcji grup użytkowników i przywilejów przypisywanych do poszczególnych grup. Poza kontrolkami reprezentującymi usługi WebCenter Services, narzędzie WebCenter Composer and Business Dictionary umożliwia dodawanie także kontrolek danych wyświetlających i wizualizujących dane z korporacyjnej bazy danych lub hurtowni
danych. Dzięki temu użytkownicy nie muszą już polegać na dziale IT jeśli chodzi o tworzenie
zintegrowanych portali informacyjnych, intranetów lub kart wskaźników, lecz mogą takie zasoby
tworzyć własnoręcznie. Każda kontrolka umieszczana na stronie może być dostosowywana i personalizowana do unikalnych potrzeb użytkownika, przy czym informacje o personalizacji są składowane w usłudze Oracle Metadata Service (OMS), dzięki czemu aplikacja staje się „odporna” na
utratę personalizacji w wyniku pielęgnacji oprogramowania lub aktualizacji wersji. Taka funkcjonalność jest niezbędna jeśli chcemy, aby użytkownicy mogli tworzyć strony dostosowane do potrzeb swoich grup, projektów czy departamentów.
Oracle WebCenter 11g, czyli Przedsiębiorstwo 2.0
15
Katalog wszystkich usług i kontrolek służących do tworzenia własnych stron jest dostępny
przez Business Dictionary. Jest to panel, który zawiera przeszukiwalną listę zasobów, które mogą
być łączone w ramach aplikacji typu mash-up. Domyślnie, katalog zawiera wszystkie kontrolki
ADF i portlety dostępne dla użytkowników. Oczywiście, można zmodyfikować kontrolkę Business Dictionary w taki sposób, aby wyświetlane były tylko wybrane klasy komponentów i portletów. Poza wymienionymi, Business Dictionary może udostępniać także komponenty Task Flow,
komponenty ADF Faces, oraz komponenty do zarządzania układem obiektów na stronie.
2.3. WebCenter Spaces
WebCenter Spaces to gotowa do użycia aplikacja Web 2.0, która może być punktem wyjścia do
stworzenia pełnego korporacyjnego portalu wykorzystującego najnowsze osiągnięcia aplikacji
społecznych, kolaboracji i współdzielenia danych i wiedzy, oraz osobistych narzędzi zwiększających produktywność pracowników. WebCenter Spaces umożliwia praktycznie natychmiastowe
wdrożenie zaawansowanej aplikacji portalowej zawierającej w sobie usługi WebCenter Services
i katalog usług i kontrolek Business Dictionary, powiązane za pomocą platformy WebCenter Framework. Aplikacja dzieli się na trzy zasadnicze obszary: Personal Spaces, Business Role Pages
i Group Spaces. Personal Spaces to prywatny obszar pracy dla każdego użytkownika, zawierający
takie elementy jak informacje osobiste, dane teleadresowe, notatki, listy rzeczy do zrobienia, listy
zadań biznesowych, kalendarze wydarzeń i spotkań, czy listy znajomych którzy są dostępni
w trybie online. Business Role Pages to strony, których zawartość jest dostosowana do specyficznych grup pracowników w ramach organizacji lub przedsiębiorstwa. Mogą to być pracownicy
przypisani do określonego projektu, departamentu, pracownicy pracujący na określonym stanowisku lub pracownicy którym przydzielono określone zadanie. Dzięki temu strony Business Role
Pages mogą służyć jako specjalizowany kanał przesyłania informacji tylko do ściśle sprecyzowanych grup użytkowników. Group Spaces to odpowiednik Personal Spaces w odniesieniu do grup
użytkowników. Group Spaces umożliwiają komunikację między członkami grupy w postaci grup
dyskusyjnych, współdzielonych kalendarzy, powiadomień o dostępności online, a także narzędzia
dobrze znane z serwisów społecznych, np. grafy znajomości, grafy aktywności, grafy komunikacji
między uczestnikami, itp. Warto także dodać, że istotnym składnikiem WebCenter Spaces są narzędzia do integracji aplikacji JSF/ADF z narzędziami Microsoft Office 2007, co znacznie ułatwia
współdzielenie dokumentów i danych.
2.4. WebCenter Anywhere
WebCenter Anywhere to narzędzie umożliwiające przeniesienie aplikacji społecznościowych
na urządzenia przenośne. Dzięki zestawowi adapterów i kontrolek specjalnie zaprojektowanych
z myślą o ograniczonych wyświetlaczach urządzeń przenośnych, aplikacje WebCenter mogą być
także uruchamiane w środowisku mobilnym na urządzeniach typu smartphone, PDA czy Mobile
Voice i Mobile Messaging. WebCenter Anywhere bazuje na okrojonej wersji architektury ADF, tj.
na ADF Mobile. ADF Mobile to przeniesienie architektury ADF na urządzenia mobilne obejmujące ponad 60 kontrolek interfejsu użytkownika przystosowanych do specyficznych wymagań urządzeń przenośnych, przede wszystkim do ograniczeń ekranów do wyświetlania danych oraz ograniczeń związanych z szybkim i wygodnym wprowadzaniem danych. Dzięki WebCenter Anywhere
gotowa i wdrożona aplikacja desktopowa WebCenter może być bardzo szybko dostosowana do
środowiska mobilnego, ponieważ warstwy modelu i kontrolera oryginalnej aplikacji mogą być
wykorzystane ponownie i przeprojektowaniu ulega jedynie warstwa widoku, wymagająca użycia
specyficznych kontrolek interfejsu użytkownika dla danego użytkownika (Microsoft PocketPC,
Microsoft Mobile, Palm Treo, itp.). Sam proces projektowania i wdrażania aplikacji jest identyczny jak w przypadku aplikacji desktopowych.
16
Mikołaj Morzy
3. Podsumowanie
Oracle WebCenter 11g jest produktem niezwykłym. To pierwsza próba zaproponowania kompleksowego rozwiązania umożliwiającego wprowadzenie mechanizmów społecznościowych do
współczesnych aplikacji korporacyjnych. Czas włączenia komponentów społecznościowych jest
zmniejszony do minimum, ponieważ twórcy aplikacji wykorzystują doskonale sobie znane środowisko JSF i ADF do budowania aplikacji i pracują z dobrze zdefiniowanymi komponentami, które
zawierają typową funkcjonalność narzędzi Web 2.0. Jeśli wbudowana funkcjonalność nie jest zgoda z wymaganiami aplikacji, komponenty dostarczone w ramach Oracle WebCenter mogą być
swobodnie rozszerzane i modyfikowane.
Oracle WebCenter jest dużym i złożonym systemem informatycznym. W przypadku tak dużych systemów, częstym problemem jest zarządzanie systemem i diagnozowanie problemów wydajnościowych. Firma Oracle dostarcza specjalistycznego narzędzia, stanowiącego konsolę administracyjną dla WebCenter. Narzędzie to, Oracle Enterprise Management Pack for WebCenter
Suite, za pomocą czytelnych raportów pozwala oceniać wydajność działającego systemu, wynajdować wąskie gardła, likwidować przyczyny zmniejszonej efektywności funkcjonowania całej
suity. Oprócz aplikacji Oracle WebCenter narzędzie to potrafi także monitorować działanie aplikacji dla WebLogic Portal, co powoduje, że w przypadku implementacji zintegrowanego systemu
informatycznego wykorzystującego Oracle WebCenter w przedsiębiorstwie Oracle Enterprise
Management Pack for WebCenter Suite staje się nieodzowny dla administratorów.
Na koniec warto także wspomnieć o koszcie zakupu produktu. Jak łatwo się domyślić, tak duży
system jest adresowany przede wszystkim do dużych przedsiębiorstw i organizacji, których rozmiar skutecznie ogranicza współpracę między pracownikami i w których zwiększenie kolaboracji
i współdzielenia danych przyniesie wymierne korzyści ekonomiczne. Wynika stąd, że produkt jest
budowany z myślą o organizacjach dysponujących pokaźnymi budżetami na projekty IT. Aktualnie, koszt licencji na jeden procesor wynosi 70 000 $ za WebCenter Services oraz 125 000 $ za
WebCenter Suite, przy czym należy założyć, że minimalna instalacja będzie wymagała czterech
procesorów. Do tego należy doliczyć koszt licencji bazy danych, przy czym nie musi być to koniecznie system Oracle, WebCenter potrafi współpracować z MS SQL czy IBM DB2. Koszt licencji zawiera w sobie licencje na produkty dostarczane razem z WebCenter, w tym na Oracle Secure
Enterprise Search, Oracle Universal Content Management i Oracle BPEL Process Manager.
Bibliografia
[1]
Casarez, V. (2009). Oracle WebCenter Suite 11g New Features White Paper. Oracle Corporation.
[2]
Hauser, C. (2009). Oracle WebCenter 11g Technical White Paper. Oracle Corporation.
[3]
Keen, A. (2007). The Cult of the Amateur: How Today’s Internet is Killing Our Culture. Currency.
[4]
(2010). Oracle Fusion Middleware Developer's Guide for Oracle WebCenter 11g. Oracle Corporation.
[5]
(2010). Oracle Fusion Middleware Quick Installation Guide for Oracle WebCenter 11g. Oracle Corporation.
[6]
O'Reilly, T. (2006, Kwiecień). Web 2.0 compact definition: Trying again. Pobrano z lokalizacji O'Reilly
Radar: http://radar.oreilly.com/archives/2006/12/web 20 compact.html

Podobne dokumenty