Java EE

Java Platform, Enterprise Edition (Java EE) je súčasťou platformy Java určená na vývoj a prevádzku podnikových aplikácií a informačných systémov. Základom pre platformu Java EE je platforma Java Standard Edition (Java SE), nad ktorou sú definované súčasti tvoriace Java EE. Súčasťou platformy Java EE sú špecifikácie pre:

  • vývoj web aplikácií – Java Servlets, Java Server Pages (JSP)
  • vývoj zdieľanej business logiky - Enterprise Java Beans (EJB), Spring
  • prístup k legacy systémom - Java Connector Architecture (JCA), Hibernate
  • prístup ku správovému middleware - Java Messaging Services (JMS)
  • podpora technológií Web Services

Aby sme vedeli vytvárať úspešné riešenia, využívame pri našej práci moderné prístupy a technológie. Aby ste boli v obraze, pripravili sme pre Vás tento stručný prehľad.

.NET Platform

.NET Platform – programátorská platforma spoločnosti Microsoft umožňujúca vývoj a prevádzku aplikácii podľa pravidiel technológie .NET. Technológia nie je viazaná na konkrétny programovací jazyk a programy sú písané v niektorom z jazykov C++/CLI, C#, J#, Delphi 8 .NET, Visual Basic .NET. Dôležitými elementami platformy .NET sú CLR (Common Language Runtime) a knižnica tried ASP.NET.

Service-oriented architecture (SOA)

SOA je architektonický štýl, kde existujúce alebo nové funkcionality sú zoskupované do jednotlivých services (služieb). Tieto služby komunikujú medzi sebou posielaním dát z jednej služby, službe druhej, alebo koordináciou aktivít medzi jednou alebo viacerými službami.

V súčasnosti sa požaduje lepšie prepojenie rôznorodých aplikácií a zdieľanie dát flexibilnejšou architektúrou. Práve takouto architektúrou je SOA. Unifikuje business procesy štruktúrovaním väčších aplikácií na zbierky menších modulov, ktoré nazývame služby. Tieto aplikácie môžu byť využívané rôznorodými skupinami ľudí, či už z vnútorného alebo vonkajšieho prostredia organizácie. Nové aplikácie sa dajú vytvárať kombinovaním služieb, ktoré sú k dispozícii v spoločnom úložisku.

Na efektívne využitie SOA je potrebné splniť nasledovné požiadavky:

  • Interoperabilita medzi rozličnými systémami a programovacími jazykmi – dôležitým základom pre jednoduchú integráciu medzi aplikáciami na rôznych platformách je komunikačný protokol, ktorý je dostupný na prevažnej väčšine systémov a programovacích jazykov.
  • Jasný a jednoznačný popisovací jazyk - na využitie servisu ponúkaného providerom nie je len nevyhnutné pripojiť sa na systém providera, ale aj syntax interfejsu servisu musí byť jasne a platformovo nezávisle definovaná.
  • Vyhľadávanie služieb – umožnenie vhodnej integrácie služby počas návrhu a v čase vykonávania, vhodný vyhľadávací mechanizmus na výber služby

Web služba

Web služba je definovaná ako softvérový systém na podporu interoperability a interakcie medzi rôznymi systémami cez sieť. Web služba je často len Web API (Application Programming Interface), ktoré môže byť sprístupnené cez internet a vykonané na vzdialenom systéme, kde sa nachádzajú požadované služby.

Definícia Web služby sa môže aplikovať na veľkom počte rôznorodých systémov. Bežné používanie výrazu Web služba sa však vzťahuje ku klientom a serverom, ktoré komunikujú XML správami, ktoré vyhovujú SOAP štandardu.

Simple Object Access Protocol (SOAP)

SOAP je zjednodušene povedané protokol na výmenu XML správ cez počítačovú sieť, hlavne pomocou HTTP. Formát SOAP tvorí základnú vrstvu komunikácie medzi webo službami a poskytuje prostredie pre tvorbu zložitejšej komunikácie. Existuje niekoľko rôzných druhov šablón pre komunikáciu na protokole SOAP. Najznámejšia z nich je Remote Procedure Call (RPC) šablóna, kde jeden z účastníkov komunikácie je klient a na druhej strane je server. Server ihneď odpovedá na požiadavky klienta. V kombinácii so SOAP a XML sa používa Web Services Description Language (WSDL).

Web Services Description Language (WSDL)

WSDL popisuje aké funkcie ponúka webová služba a definuje spôsob, ako sa jej na to pýtať. Zapisuje sa vo formáte XML. Spravidla popisuje SOAP komunikáciu. Podporované operácie a správy sú popísané abstraktne a potom sa obmedzujú na konkrétny sieťový protokol a formát správy. To znamená, že WSDL popisuje verejné rozhranie: webovú službu.

WSDL je často používané v kombinácii so SOAP a XML, čo umožňuje poskytovať Web služby cez internet. Klientský program pripájajúci sa k Web službe je schopný spracovávať WSDL. Môže tak zistiť aké funkcie sú server ponúka. Akékoľvek použité špeciálne dátové typy sú uložené v WSDL súbore vo formáte XML. Program môže používať SOAP pro volanie funkcií napísaných v WSDL .

Web služby a SOA

Web služby je možné použiť na implementáciu SOA. Hlavné zameranie Web služieb je vytváranie funkčných blokov prístupných cez štandardné protokoly, ktoré sú nezávislé na platforme a programovacom jazyku. Tieto služby môžu byť nové aplikácie alebo tvoria len obálku k existujúcim aplikáciam a sprístupňujú ich tak cez sieť. Takáto služba môže využívať ďalšie služby na dosiahnutie požadovaného cieľa.

Pri aplikácii Web služieb a SOA sa stretávame s nasledovnými rolami:

  • Service provider - vytvára Web služby a zverejňuje ich interfejs a prístupové informácie v service registry.
  • Service broker - sprostredkovateľ zodpovedný za to, aby interfejs Web služieb a prístupové implementačné informácie boli dostupné pre service requestor.
  • Service requestor - alebo klient Web služieb lokalizuje vstupy v broker registry a spája sa so service providerom pre vykonanie jednej z jeho Web služieb.

Aplikačné servery

Aplikačný server je softvér, prevádzková platforma , ktorá slúži na rýchlejšiu a efektívnejšiu:

  • Integráciu aplikácií
  • Integráciu systémov
  • Vývoj, upgrade a distribúciu aplikácií

 

Moderné aplikačné servery (IBM Websphere Application Server, Oracle Application Server, open source aplikačný server JBOSS ai.) podporujú SOAP a Web služby.

Workflow

Workflow je automatizácia podnikových procesov ako celku alebo ich častí, počas ktorej s dokumenty, informácie alebo úlohy presúvané od jedného účastníka k druhému pre ďalšie spracovanie, ktoré zodpovedá definovanej organizačnej štruktúre.

Workflow je schéma vykonávania komplexnej činnosti, rozpísanej na jednoduchšie činnosti a ich väzby. Obvykle sa týmto pojmom popisuje technológia riadenia podnikov, projektov, či spracovávania dokumentov.

Nástroje a produkty na implementáciu workflow

Pre podporu workflow existuje široká škála konkrétných softvérových produktov. Je možné v nich nastaviť vnútropodnikové procesy s využitím digitalizácie, obehu a archivácie dokumentov v elektronickej podobe. Nastavené procesy určujú, kto má vykonať aké činnosti - v záujme kvalitnej realizácie jednotlivých procesov ale aj celkovej činnosti podniku.

Nástroje a produkty na implementáciu workflow poskytujú možnosti automatizácie činností v rámci podnikových procesov tým, že riadia poradie pracovných operácií a aktivujú príslušné zdroje (informačné alebo ľudské), ktoré sú spojené s jednotlivými pracovnými krokmi. Funkčnosť workflow produktov je do značnej miery závislá od toho, do akej miery využíva celú kapacitu informačného systému – aplikácie, služby, komunikácie, databázy. Má pôsobiť ako integračný článok toku informácií, vykonávania procesov, kontroly atď.

Nástroje a produkty pre implementáciu workflow umožňujú navrhovať a spravovať jednotlivé workflow úlohy. Poskytujú rozsiahly systém na sledovanie priebehu týchto úloh a mechanizmus väzieb do organizačnej štruktúry organizácie. Použitím vhodných väzieb je možné implementovať procesy, ktorých spracovávanie bude elektronicky predkladané pracovníkom podľa ich pracovného zaradenia v organizačnej štruktúre organizácie – napríklad vedúcemu oddelenia, pracovníkovi zodpovednému za dané pracovné miesto a podobne.

Prínosy z implementácie workflow sú nasledovné:

  • Zlepšenie toku informácií – informácie sú prepravované elektronickou cestou k vopred definovaným adresátom.
  • Zvýšenie efektivity procesov a zníženie celkových nákladov – workflow úlohy sú spúšťané explicitne alebo automaticky na základe registrovaných zmien v systéme (zmena kmeňových dát, zmena stavu obchodného dokumentu) a nasledovne sú predkladané zodpovedným osobám ako workflow pracovné položky v poštovej schránke. Rozpracovaná workflow úloha v sebe obsahuje aktuálny kontext (dáta, spracovateľa úlohy, dátum, čas atď.), na základe ktorého je možné iba otvorením príslušnej správy spustiť príslušnú transakciu. Po tomto spracovaní úloha pokračuje ďalej – to znamená, že spracuje výsledok transakcie, vytvorí pracovnú položku inému pracovníkovi a podobne.
  • Automatizácia spracovania výnimočných situácií – priamo v definícii jednotlivých úloh je možné nastaviť rôzne reakcie na výnimky.
  • Sproduktívnenie činností a komunikácie v biznis procese – workflow je z hľadiska integrácie nadradený štandardnej funkčnosti systému. Jeho prostredníctvom je možné dosiahnuť rozsiahlú automatizáciu a podstatné zrýchlenia rutinných činností. Základným rozhraním pracovníka a aplikácie sa stáva jeho poštová schránka. Všetky činnosti sú okamžite k dispozícii po otvorení príslušnej správy a taktiež môžu byť priložené ďalšie informácie. Žiadna operácia nemôže zostať nespracovaná čím odpadá potreba spätných dotazov.
  • Transparentnosť biznis procesov a priradených zodpovedností – biznis proces vrátane organizačných hľadísk je popísaný v definícií workflow. Profil činnosti každého pracovníka vyplýva z jeho zaradenia do organizačnej štruktúry podniku. Workflow úloha tak dokáže aktivovať pracovnú položku u nadriadeného pracovníka alebo u zodpovednej osoby.
  • Kontrola termínov – systém spracovania programu dovoľuje kontrolovať, či sú jednotlivé pracovné položky a celé workflow úlohy spracované v daných termínoch.
  • Informácie o skutočnom priebehu procesu a štádiu jeho spracovania – je možné sledovať presný stav rozpracovanosti jednotlivých úloh vrátane pracovníka, na ktorého aktivitu sa čaká.