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