Wstęp do Adobe LiveCycle ES dla programisty Flex

Nieco ponad miesiąc temu wśród materiałów prasowych Adobe pojawiła się informacja o rozszerzeniu produktu pod nazwą LiveCycle Enterprise Suite. Wiele osób czekało na tą informację z niecierpliwością ale jeśli przypadkiem ostatnio spędziłeś odcięty od cywilizacji i nie wiesz czym jest LiveCycle ES, ten krótki artykuł jest okazją do szybkiego nadrobienia zaległości i zabłyśnięcia w towarzystwie.
Interpretację oficjalnych opisów LiveCycle ES (w skrócie LC) pozostawmy specjalistom od marketingu i przejdźmy do konkretów. Najprościej rzecz ujmując LC to zestaw usług zbudowanych na platformie Java Enterprise Edition i towarzyszących im narzędzi, których wspólną cechą jest to, że mają coś wspólnego ze standardem PDF. Definicja jest bardzo ogólna ale wynika to z mnogości zastosowań LiveCycle w związku z czym został on podzielony na 14 różnych komponentów, z których każdy jest osobnym produktem i udostępnia różne zestawy usług. Co ważne, każda z usług jest dostępna przez jeden z trzech interfejsów programistycznych:
• Java API – jak łatwo się domyślić, do wykorzystania w aplikacjach na platformie Java
• WebService – do wszystkich innych platform jak .NET czy PHP
• LiveCycle Remoting – specjalny interfejs dla aplikacji Flex
Dla szybkiego zrozumienia zastosowań LiveCycle przyjrzyjmy się kilku przykładowym sytuacjom:
1. Firma A chce udostępnić na swojej stronie elektroniczny formularz, który użytkownik będzie mógł wypełnić na komputerze i przesłać drogą elektroniczną lub wydrukować i dostarczyć wersję papierową.
2. Firma B przygotowuje się do organizacji przetargu i chce śledzić zmiany w specyfikacji zamówienia, a później udostępnić dokumenty oferentom tak, by nie mogli ich odczytać po zakończeniu przetargu.
3. Firma C chce regularnie wysyłać do swoich klientów elektroniczne faktury opatrzone podpisem cyfrowym.
4. Firma D potrzebuje rozwiązania, które usprawni proces składania i rozpatrywania wniosków o urlop lub wewnętrzny zakup sprzętu.
W każdej z tych sytuacji pomocne mogą się okazać poszczególne komponenty LiveCycle:
1. Firmie A desktopowe narzędzie pod nazwą LiveCycle Designer ES umożliwia projektowanie rozbudowanych formularzy elektronicznych przy pomocy bogatej biblioteki komponentów takich jak pola tekstowe, przyciski, listy rozwijane itd. Do budowy bardziej zaawansowanych formularzy dostępne są języki Form Calci JavaScript. Formularze można zapisać w gotowym do dystrybucji formacie PDF (statycznym lub dynamicznym) lub w opartym na XML formacie XDP, które za pomocą komponentu serwerowego LiveCycle Forms ES łatwo mogą być renderowane w innych formatach takich jak PDF, HTML i SWF. Oprócz tego LC Forms umożliwia zbieranie danych wysłanych z formularza, walidacjętychdanychiwieleinnychfunkcjonalności.Ponadtoformularzetworzone w Designerze mogą zawierać dwuwymiarowe kody polowe, których zadaniem jest przechowywanie wybranych danych z formularza tak, by po wydrukowaniu go możliwe było bezbłędne odczytanie ich z powrotem do postaci elektronicznej. Po stronie serwera dba o to komponent LiveCycle Barcoded Forms. Z kolei LiveCycle Reader Extensions pozwoli na odblokowanie zaawansowanych funkcjonalności formularzy PDF (jak umieszczanie komentarzy, dodawanie załączników, składanie podpisów cyfrowych) dla użytkowników darmowego Adobe Readera.
2. Dla firmy B idealnym rozwiązaniem może się okazać LiveCycle Rights Management ES. Dzięki temu komponentowi będzie mogła nałożyć na dokumenty PDF (a także DOC, XLS i PPT dzięki pluginowi do Office’a) tzw. polityki bezpieczeństwa, które określają jacy użytkownicy mogą otworzyć dokument, w jakim czasie można to zrobić i jakie operacje na dokumencie są dozwolone. W celu zapewnienia poufności dokumentu jest on zabezpieczany szyfrem symetrycznym (AES 128 lub 256) dzięki czemu nawet niekontrolowana dystrybucja (np. zgubienie pendrive’a) nie powoduje wycieku danych. Do odczytu dokumentu wystarczy zwykły Adobe Reader, który po uwierzytelnieniu użytkownika ściąga klucz i jednorazowo odszyfrowuje dokument. Dodatkowo, autor dokumentu może wybrać opcję śledzenia akcji wykonywanych przez użytkowników w czasie przeglądania dokumentu. Tak zwane zdarzenia audytowe (otwarcie dokumentu, modyfikacja, drukowanie i wiele innych) są wysyłane do serwera LiveCycle Rights Management do późniejszego wglądu.
3. Firmę C prawdopodobnie zainteresuje LiveCycle Digital Signatures ES, który pozwala na automatyczne składanie podpisu cyfrowego na dużych ilościach dokumentów. W połączeniu z LiveCycle PDFGenerator ES i usługą wysyłania maili obecną w LiveCycle Foundation ES, firma łatwo zaimplementuje mechanizm automatycznego generowania, podpisywania i wysyłania faktur.
4. Natomiast firmie D LiveCycle Process Management ES pozwoli na przeniesienie “papierowych” procedur do postaci elektronicznej. Poprzez interfejs LiveCycle Workspace użytkownicy będą mogli składać, rozpatrywać, eskalować, przekazywać wszelkiego rodzaju wnioski, pisma i tym podobne formalności bez zużywania ton papieru, a także uczestniczyć w dowolnych procesach biznesowych firmy przygotowanych w opartym na Eclipse narzędziu LiveCycle Workbench ES:

Jak wspomniałem, niektóre z komponentów dostarczają standardowego interfejsu użytkownika (np. LiveCycle Workspace) jednak wszystkie usługi dostępne są z Flexa, więc nic nie powstrzymuje nas przed zbudowaniem własnego interfejsu czy wykorzystania niektórych usług we własnych aplikacjach Flexowych.
Każda usługa czy proces automatycznie udostępnia punkt docelowy (destination) do wykorzystania z Flexowym mechanizmem Remote Object. Na przykład deklaracja zdalnego obiektu dla usługi EncryptDocument wygląda następująco:
<mx:RemoteObject id="encryptDocument"
destination="EncryptDocument"
result="resultHandler(event);">
<mx:method name="invoke"
result="handleExecuteInvoke(event)"/>
</mx:RemoteObject>
Natomiast właściwe wywołanie usługi jest równie proste jak każde inne:
encryptDocument.setCredentials("administrator", "password");
varparams:Object = new Object();
params["inDoc"] = pdfDocument;
encryptDocument.invoke(params);
gdzie pdfDocument to referencja do dokumentu wcześniej uploadowanego na serwer. W obsłudze zdarzenia result z powrotem dostajemy zaszyfrowany dokument:
varres:Object = event.result;
vardocRef:DocumentReference = res["outDoc"] as DocumentReference;
Tyle tytułem wstępu. Polecam własnoręczne sprawdzenie, co można zrobić przy pomocy LiveCycle ES. Trial jest dostępny do ściągnięcia z Adobe Developer Connection (http://www.adobe.com/devnet/livecycle/trial), również w prostej do użycia wersji turnkey, która automatycznie instaluje serwer JBoss i bazę MySQL. LiveCycle Designer jest dostępny także jako osobny produkt, który można wykorzystać do budowy formularzy z inną technologią serwerową lub zupełnie offline (http://www.adobe.com/products/livecycle/designer).
![]() |
Bartek Soin Specjalista w zakresie technologii Flex i LiveCycle w polskim oddziale Adobe. Wolny czas spędza aktywnym wypoczynku (kolarstwo górskie, wspinaczka, snowboard), zgłebianiu tajników fotografii i rozpoznawianiu najnowszych technologii internetowych. |
Tagi: Artykuły,Flex,LiveCycle,RIA


FLEX
AIR
PLUGIN'y FLASH
RSS dla każdego








2 komentarzy
Paweł Cichoń
Dzięki Bartek za ciekawy artykuł – tym bardziej, że wszyscy wiemy jak bardzo jesteś zapracowany. Big Yo! i wielkie dzięki! … a wszystkich innych chętnych do dzielenia się więdzą, napisania artykułów z kręgu Flex/AIR/LiveCycle proszę o maila na info@flextech.pl – każdy kto napisze ciekawy artykuł otrzyma czapke i koszulke Adobe, oraz być może inne ciekawe gadzety – plus, co najważnejsze, z pewnością zyska powszechny podziw i szacunek za wkład w community Flex’a w PL ;)
14 sie 2008
PiotrCh
Witam
Od jakiegoś juz czasu zapoznaje się z LCDS i w połączeniu z Flex jest to naprawde ciekawa platforma – po zapoznaniu się z możliwościami HibernateAssembler, RemoteObject itp , można naprawdę szybko i sprawnie tworzyc
Natomiast pytanie mam – czemu na stronie Adobe nigdzie nie można znaleźć cenników na LiveCycle ES ?
Pozdrawiam
25 sie 2008
Skomentuj “Wstęp do Adobe LiveCycle ES dla programisty Flex”