BC:xkafka1

Z FI WIKI
Přejít na: navigace, hledání

Systém pro generování objednávek - předběžné zadání

Cílem práce je navrhnout a implementovat systém pro generování objednávek/faktůr. Objednávka bude uložena ve formátu XML a pomocí XSL-FO transformace bude převedena do požadované výstupní formy v PDF či HTML. Systém bude implementovám pomocí Java EE a výstup bude realizován jako Portlet. Systém bude popsán pomocí UML 2.0 a řešen metodikou TDD.

Odkazy na užitečné informace + moje poznámky

What is a Portlet Článek na ONJava.com, o tom co jsou to portlety podle specifikace JSR 168

JSR 168: Portlet Specification Odkaz na specifikaci JSR 168

Apache Cocoon Web development framework

Jakarta Cactus Test framework pro webové aplikace

eXist Free XML databáze

JBoss Portál Portál JBoss

Sun Portál Portál od SUNu

UML

UML je vytvářeno podle UML 2.0 v nástroji Visual Paradigm (až zjistím změny v UML 2.1, tak vše budu směřovat k této verzi standardu)

Use Case

První Use Case


Popis pro Use Case

Uživatel: dá pokyn k vytvoření dokumentu

Systém: zobrazí výběr typu dokumentu

Uživatel: vybere typ dokumentu

Systém: zobrazí formulář dokumentu se zpřístupněnými údaji

Uživatel: dá pokyn k zobrazení dokumentu

Systém: nabídne typ transformace dokumentu

Uživatel: vybere formát dokumnetu

Uživatel: založí novou firmu do DB

Systém: zaregistruje firmu do DB

Activity Diagram

Activity Diagram

Údaje potřebné pro dokumenty

Souhrn toho co by měla správná objednávka/faktura obsahovat

Značení:

  • povinné údaje (R) REQUIRED
  • nepovinné údaje (O) OPTIONAL
  • opakovaný údaj {údaj}

Objednávka

  • Číslo objednávky (R)
  • Datum vystavení (R)
  • Zákazník (=firma) (R)
  • Datum dodání (O)
  • {Položka objednávky (=věc)} (R)
  • Celková cena bez DPH (R)
  • Celková cena s DPH (R)
  • Poznámka (O)

Faktura

  • Číslo faktury (R)
  • Datum vystavení (R)
  • Datum splatnosti (R)
  • Odběratel (R)
  • Příjemce (O)
  • {Položka faktury} (R)
  • Celková cena bez DPH (R)
  • Celková cena s DPH (R)
  • Poznámka (O)

Analýza požadavku z hlediska XSL-FO transformací

Apache FOP

Apache FOP je projektem od Apache Foundation, zkratka znamená (Formatting Objects Processor)

Klady tohoto řešení:

  • propracovanost
  • jednoduchost

Zápory tohoto řešení:

  • přes XSL-FO generuje např PDF, ale HTML a podobné formáty se mi s ním ještě nepodařilo jednoduše vytvořit, nutnost XSLT vedle XSL-FO

Apache Cocoon

Apache Cocoon je komplexní web framework, zahrnuje v sobě mimo jiných aplikací od Apache Foundation i Apache FOP

Klady tohoto řešení:

  • robustnost, komplexnost
  • obsahuje portál (zatím se mi to nepodařilo, úspěšně otestovat)

Zápory tohoto řešení:

  • robustnost je na úkor složitosti
  • portál se mi zatím nepodařilo správně nakonfigurovat

JasperReports

JasperReports je propracovaný systém reportování, je to opensource projekt

JasperReports v NetBeans použití JasperReports ve webové aplikaci

Klady tohoto řešení:

Zápory tohoto řešení:

  • práce se složitějšími prvky (dost možná je to mými malými zkušenostmi) UPDATE: umí to i tabulky apod, nepředstavuje problém

Výhoda/nevýhoda - využívá svůj vlastní xml formát tzv. jrxml, výhoda v tom, že pak stačí jeden template pro různé výstupy (HTML/PDF), FOP (aspoň myslím) vyžaduje XSLT pro HTML a XSL-FO pro PDF, bez toho se mi transformace nedařili. Nevýhoda v tom, že nevím, jak moc se dá jrxml brát za standard, navíc objednávky i faktury chci udržovat v XML formátu (což by i snad mohlo jsrxml splňovat...)

Portály, analýza, výběr nejvhodnějšího