Matlab Builder for Java a Java servlety

    MATLAB Builder for Java rozširuje MATLAB Compiler o nástroje pre automatické generovanie Java tried z .m súborov. Z každej MATLAB-ovskej funkcie vytvorí Java Builder metódu Java triedy. Vytvorené triedy je potom možné použiť mimo prostredia Matlabu zvyčajným spôsobom ako je to obvyklé u iných Java tried. To umožňuje použiť algoritmy vytvorené v MATLABe v aplikáciách založených na Java technológii. Komponenty vytvorené pomocou Java Builderu nepotrebujú MATLAB k svojej funkčnosti, preto môžu byť bezplatne distribuované užívateľom , ktorí MATLAB nemajú. V distribuovanom balíku je samozrejme nutné zahrnúť pomocné súbory ako CTF súbor a MCR.
    Pre vytvorenie Java tried z .m suboru, je potrebný .m súbor s odskúšanou funkciou, ktorý sa prevedie do Java tried pomocou MATLAB Compileru. Zrealizovať sa to dá buď priamo príkazom mcc, alebo za pomoci grafického nástroja, v ktorom sa vyberie typ a meno projektu, pridajú sa .m a iné pomocné súbory, nastavia sa mená tried a celého distribučného balíka. Tento grafický nástroj je možné spustiť priamo z MATLABu príkazom deploytool. Použitie príkazu mcc, buď to z pracovného prostredia MATLABu alebo z príkazového riadku operačného systému by mohlo vyzerať nasledovne:

mcc -W java:myPackage,myClass test.m

Parameter -W java: oznamuje kompilátoru, že ako výstup ma použiť jazyk Java. myPackage je názov Java balíka, myClass názov triedy, ktorá má byť vytvorená a test.m je meno zdrojového .m súboru. Ak všetko prebehne hladko, kompilátor vyprodukuje zdrojové kódy v jazyku Java a to súbor myClass.java obsahujúci samotnú Java triedu s funkciami z pôvodného .m súboru, myPackageMCR.java obsahujúci dekryptovací kľúč pre CTF súbor, spomínaný CTF súbor a potom zavolá Java kompilátor javac, ktorý zo zdrojových kódov vytvorí príslušné .class súbory a JAR archív myPackage.jar.
Vytvorené komponenty je potom možné začleniť do akejkoľvek Java aplikácie. Výmena parametrov medzi funkciami vytvorenými MATLAB Java Builderom a zvyškom programu je zabezpečovaná cez
MWArray API (MathWorks Array Application Programing Interface) . MWArray API je hierarchia tried, ktorá reprezentuje hlavné dátové typy v MATLABe. Koreňová trieda je abstraktná trieda MWArray, ktorá má podtriedy: MWNumericArray, MWLogicalArray,
MWCharArray,MWCellArray,MWStructArray

Tieto podtriedy obsahujú konštruktory pre vytváranie MATLAB-ovských dátových typov zo štandardných Java dátových typov a obsahujú aj metódy pre spätnú konverziu.

Java Servlety Servlety sú technológiou JAVA platformy a sú jednou z možností pre rozšírenie funkcionality WEB serverov. Servlety poskytujú platformovo nezávislé metódy pre vývoj WEB-aplikácií, bez výkonových obmedzení CGI programov. Až na proprietárne rozšírenia (ako Netscape Server API alebo Apache moduly) servlety sú platformovo a serverovo nezávislé. To umožňuje zvolenie najviac vyhovujúcej kombinácie operačný systém - server - nástroje. Najpoužívanejšie servery s priamou podporou pre servlety a JSP stránky sú Sun Java System Web Server (predtým znamy ako Sun ONE Web Server) a Apache Tomcat server. Treťostranné servletové kontajnery (servlet containers) sú dostupné pre Apache Web Server, Microsoft IIS a iné servery. Dalo by sa povedať, že servlet je niečo čo by sme dostali prepojením appletu a CGI (Common Gateway Interface) skriptu. Z programátorského hľadiska, servlet pripomína applet. Je to spustiteľný program napísaný v jazyku JAVA a zvyčajne (ale nie stále) je vykonávaný ako odpoveď na dotaz nejakej HTML stránky. Z hľadiska druhu činnosti ktorú vykonáva, servlet priponína CGI skript ešte viac. Tak jako CGI skript, môže servlet odpovedať na vstup od užívateľa a zbierať užívateľom zadané údaje alebo odoslať informácie spať k používateľovi. Ak je servlet vytvorený pre poskytovanie informácií používateľovi, môže získavať požadované informácie z rôznych zdrojov, napr. získanim z databázového systému. Servlet potom môže dynamicky vytvoriť HTML stránku alebo obrázok obsahujúcu požadované informácie a zobraziť ju na používateľovom prehliadači.

CGI skripty boli do doby prichodu servletov štandardnými mechanizmami pre vytváranie dynamických stránok. Servlety maju oproti CGI skriptom mnoho výhod. Jednou z nich je úspora systémových prostriedkov. Zakaždým, keď bol volany CGI skript musel byť vytvorený nový proces, čo spotrebovalo veľa výkonu systému. CGI skripty su na rozdiel od JAVA servletov platformovo závislé a bežali v od servera oddelených procesoch, preto nemali prístup k mnohým možnostiam servera, napríklad zapisovat do log súboru servera.

Servlety sú efektívnejšie a prispôsobiteľnejšie. Nevytvárajú nový proces pri každom ich volaní ale vytvárajú nové vlákno v procese servera. Tým môžu využívať možnosti servera, pretože bežia v jeho vlastnom procese. Keďže sú napísane v jazyku JAVA, môžu byť bez úprav sputené na akejkoľvek platforme. Ich tvorba je však pracnejšia ako napísanie CGI skriptu.

Zopár príkladov servletov:

MagicSquareServlet

    Servlet generujúci štvorcovú maticu  náhodných čísel zadaného rozmeru. Aplikácia demonštruje jednoduchý vstup a výstup numerických údajov vo forme matice a výstup bez použitia JSP stránky.

NetfigServlet

Servlet generujúci výstupný graf zo simulácie vloženého diskrétneho systému, s vloženou periódou vzorkovania a parametrami regulátora v zložkovom tvare. Aplikácia demonštruje vstup numerických údajov a výstup vo forme grafu, pričom je využitá funkcia pre tvorbu interaktívnej grafiky webfigures().Pre výstup je použitá JSP stránka.

NetsimServlet

Servlet generujúci výstupný graf zo simulácie pevne daného systému pomocou simulácie vytvorenej v Simulinku. Do formulára je možné vložiť koeficienty regulátora. Aplikácia demonštruje hlavne použitie simulinkovských modelov v nových technológiách a výstup vo forme grafu, pričom je využitá funkcia pre tvorbu interaktívnej grafiky webfigures(). Pre výstup je použitá JSP stránka.