Warning: Table './d1394_drupal/cache' is marked as crashed and last (automatic?) repair failed query: SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables' in /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc on line 136

Warning: Table './d1394_drupal/cache' is marked as crashed and last (automatic?) repair failed query: UPDATE cache SET data = 'a:996:{s:13:\"theme_default\";s:5:\"fever\";s:13:\"filter_html_1\";s:1:\"1\";s:18:\"node_options_forum\";a:1:{i:0;s:6:\"status\";}s:18:\"drupal_private_key\";s:64:\"5fe6eae150af4e56112c001190001c50f30fff335724864ea3d95df181c7224f\";s:10:\"menu_masks\";a:30:{i:0;i:127;i:1;i:125;i:2;i:63;i:3;i:62;i:4;i:61;i:5;i:60;i:6;i:59;i:7;i:58;i:8;i:57;i:9;i:56;i:10;i:31;i:11;i:30;i:12;i:29;i:13;i:28;i:14;i:25;i:15;i:24;i:16;i:22;i:17;i:21;i:18;i:15;i:19;i:14;i:20;i:13;i:21;i:12;i:22;i:11;i:23;i:7;i:24;i:6;i:25;i:5;i:26;i:4;i:27;i:3;i:28;i:2;i:29;i:1;}s:12:\"install_task\";s:4:\"done\";s:13:\"menu_expanded\";a:1:{i:0;s:9:\"menu-user\";}s:9:\"site_name\";s:5:\"FLOPS\";s:19:\"file_directory_temp\";s:23:\"sites/default/files/tmp\&quo in /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc on line 136

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc:136) in /data/web/virtuals/1394/virtual/www/includes/bootstrap.inc on line 726

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc:136) in /data/web/virtuals/1394/virtual/www/includes/bootstrap.inc on line 727

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc:136) in /data/web/virtuals/1394/virtual/www/includes/bootstrap.inc on line 728

Warning: Cannot modify header information - headers already sent by (output started at /data/web/virtuals/1394/virtual/www/includes/database.mysql.inc:136) in /data/web/virtuals/1394/virtual/www/includes/bootstrap.inc on line 729
Tenký Lotus Notes: Programování webových aplikací v Lotus Notes | FLOPS

Tenký Lotus Notes: Programování webových aplikací v Lotus Notes

Obory článku
software, groupware, lotus notes, programování
Zmiňované firmy
IBM

Díky neustálému vývoji aplikací a měnícím se požadavkům se již pár let Lotus Notes nevyužívá pouze pro tvorbu klasických databázových aplikací určených pro použití s Lotus Notes klientem, ale je stále častěji využíván pro vývoj webových aplikací.

Pamatuji si, jako by to bylo dnes, když jsem měl poprvé za úkol vytvořit aplikaci, která bude využívat webový prohlížeč. Všichni z mého okolí, kteří se zabývali webovým programováním, měli tehdy zkušenosti pouze s PHP a relačními databázemi, ale já měl za úkol vytvořit aplikaci na platformě Lotus Notes Domino.

A tak jsem začal zkoumat, googlovat, studovat, zjišťovat a zkoušet. S postupem času a s přibývajícími zkušenostmi jsem zjišťoval výhody a nevýhody vývoje webových aplikací na platformě Lotus Notes, a ty se vám dnes pokusím představit.

Proč webové aplikace?

Změna podílu v užívání klientských aplikací vůči webovým je logickým vyústěním pokroku technologií. Uživatelé dnes tráví velkou část svého času ve webovém prohlížeči, a to ať už na sociálních sítích nebo v groupwarových aplikacích typu Gmail. Mladá generace považuje práci na webu za intuitivní a nás starší pro změnu už nebaví si aplikace neustále instalovat.

Naštěstí ke stejným závěrům dochází i firmy, které aplikace používají, a tak čím dál častěji inklinují k výběru aplikací, které nejsou jen pro tlusté klienty, ale také pro web. Bohužel se většina firem při výběru vhodného systému rozhoduje jen mezi tím, jestli použít relační databáze s programováním v .Netu, Javě nebo PHP. A přitom právě Lotus Notes (dále jen LN) je v současnosti adekvátní a velmi dobrou alternativou, která má své výhody pro stávající ale i nové uživatele.

Obecné výhody

Začněme tedy popořadě. LN v porovnání s jinými systémy konkurují výčtem funkcí, které podporují nativně a není je třeba programovat:

  • zabezpečení (šifrovaná komunikace a autentifikace), adresářové služby (adresní kniha, skupiny, LDAP);
  • podporou on-line i off-line práce s daty (Domino off-line services);
  • webové služby (SOAP – consumer, provider);
  • fulltextové vyhledávání;
  • možnou integrací dalších technologií (Flex, Adobe Flash atd.);
  • propojení s dalšími databázovými systémy (MySQL, SQL, Oracle případně SAP);
  • možnost využití JavaScipt frameworků (JQuery, Dojo, Ext, YUI a další);
  • podpora vývoje pro všechny typy prohlížečů (Internet explorer, Firefox, Opera, Chrom a další).

V případě webových aplikací „hraje LN do karet“ i licenční politika IBM. Pokud totiž společnost používá jiný mail systém než LN, není třeba platit licenční poplatky za uživatele, ale jenom jednorázový poplatek za Lotus Domino server. Což znamená, že utility express server vychází cenově na podobnou částku, jako by zákazník zaplatil za 19 uživatelských licencí (viz graf). Tudíž firma od dvaceti zaměstnanců výše již nemusí za další uživatele platit navíc.

Cenové rozdíly dle IBM list price (Utility express server vs. uživatelské licence)

Když už jsem výše zmínil finance, je také na místě uvést, že využívání webových aplikací vede ke snižování nákladů na IT. Je to dáno především skutečností, že osoby zodpovídající za IT ve vaší firmě, ať už jsou to administrátoři, případně helpdesk, nemusí na každé stanici instalovat a následně spravovat desktopového klienta nebo desktopovou aplikaci. Navíc v některých případech, třeba když je aplikace provozována jako Software as a Service, lze fixní náklady na IT snížit ještě více, a to nejen díky tomu, že nebudete potřebovat tolik IT pracovníků, ale také proto, že jejich odbornost nemusí být tak vysoká.

Výhody pro nové uživatele

Jednou z hlavních výhod LN systému je jeho komplexnost. Zakoupením LN serveru totiž nový uživatel získá groupwarový systém (e-mail, kalendář, úkolovník, synchronizace s mobilem) v klientské i webové podobě a navíc ještě získá platformu, na které se dají vyvíjet aplikace dle potřeby uživatele. Kromě toho obsahuje Lotus Notes/Domino ve své základní verzi také několik aplikačních šablon (většinou jde o aplikace pro týmovou spolupráci jako například diskuse), které je schopen nainstalovat i průměrný uživatel.

LN je velmi často neprávem opomíjen a podceňován, a to i v případě, že samotný systém obsahuje nativní podporu pro takové „speciality“, jako je třeba clusterování serverů. Není náhodou, že jsem zmínil zrovna clusterování, protože v dnešní době, kdy mnoho subjektů funguje 24/7 a konkurence je vysoká, je jen málo firem, které si mohou dovolit riskovat nefunkčnost interního systému a následnou odstávku výrobního nebo servisního procesu.

Výhody pro stávající uživatele LN

Jednou z hlavních příčin, proč si stávající uživatelé stěžují na LN aplikace a potažmo klienta, je nudné, až rigidní prostředí, ve kterém s daty pracují. A právě toto je problém, který lze řešit pomocí LN webových aplikací. Původním aplikacím lze dodat nejen nový vzhled, ale také je možné jim přidat nové funkce, aniž by došlo ke ztrátě dat kvůli přechodu na nový systém. V našich webových aplikacích jsme toho již několikrát využili a udělali nové web 2.0 designové prvky, jako například více úrovňové checkboxy, speciální grafické formulářové prvky, řádkové elementy, specifické kategorizované pohledy nebo uživatelsky jednoduché rozšířené hledání (viz obrázky). Odměnou nám byli spokojení zákazníci a uživatelé, kteří aplikace rádi používají.

  

Prvek s víceúrovňovými checkboxy, grafický formulářový prvek a řádkový element.
 

Abych ale nehovořil pouze o samých pozitivech LN webových aplikací, musím také na závěr zmínit i několik nevýhod, a to nejen samotné platformy LN, ale také webového prostředí jako takového.

Mírná úskalí

Ta největší nevýhoda se týká vývoje – vývoj LN webových aplikací je totiž pracnější a zdlouhavější než vývoj klientských LN aplikací. Dle našeho pozorování je vývoj aplikace pro webový prohlížeč zhruba o 30 % pracnější oproti vývoji aplikace pro LN klienta. Daný rozdíl je způsoben tím, že designové prvky pro webové prostředí se musí velmi často dodělávat, protože LN vývojové prostředí je standardně neobsahuje. Každopádně i tomuto problému lze předejít, a to buď předpřipraveným funkčním frameworkem nebo pomocí Xpages, jež jsou novou budoucností webových aplikací na platformě LN. Obě zmíněná řešení jsou natolik obsáhlá a technická, že je na tomto místě není možné uspokojivě pokrýt (více na blog.cubeteam.eu, kde se této problematice věnujeme).

Dle našeho pozorování je vývoj aplikace pro webový prohlížeč zhruba o 30 % pracnější oproti vývoji aplikace pro LN klienta

Další „mínus“ vývoje webových aplikací spočívá ve velkém množství klientů (v tomto případě webových prohlížečů), ve kterých uživatel může aplikaci zobrazit. Mezi ty hlavní prohlížeče na internetovém poli samozřejmě patří Internet Explorer, následovaný FireFoxem, dále Operou a Chromem. Z tohoto je asi jasné, co je hlavním problémem. V tomto případě máme minimálně čtyři prostředí, na kterých musíme aplikace otestovat a zkontrolovat jejich vzhled. Bohužel v praxi se nejedná jenom o čtyři prostředí, jak je zde uvedeno, ale o mnohem více prostředí, a to hlavně díky tomu, že jednotlivé verze prohlížečů mají určité odlišnosti (nejvíce charakteristické je to u prohlížeče Internet Explorer u verze 6 a 7). Díky tomu, že daná prostředí nejsou homogenní, dochází ke zvýšeným nákladům v části grafiky a v části testování. Samozřejmě, jak jsem již zmínil v předchozím odstavci, i v tomto případě je řešení jednoduché: dodavatel aplikace a zákazník se domluví na prohlížeči, ve kterém se aplikace bude primárně používat.

 

Rozhodně se ale nenechte od vývoje webových aplikací odradit, protože u webových aplikací převažují zdaleka pozitiva nad nevýhodami. Osobně věřím, že s rozšiřováním cloud computingu budou klientské aplikace zastarávat a budou nahrazovány novým online řešením. Poslední strategie velkých softwarových firem jen tento názor potvrzují. Navíc s potěšením sleduji, že IBM si tohoto trendu všimla také a v nových verzích Lotus Notes se na podporu webového programování zaměřuje čím dál více.

Autor
Tomáš Bártek
Je projektovým manažerem ve společnosti CubeTeam, kde je také specialistou pro vývoj webových aplikací na platformě Lotus Notes.
Váš hlas: Žádné Průměr: 7.3 (4 hlasy)