Japod's blog
Archives
« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
Click me to subscribe
Search

Links
 

View My Stats
Main | Next page »
Saturday Oct 17, 2009
Přednáška o JAX-RS a Jersey na WebExpo konferenci

WebExpo je údajně největší česká konference zaměřená na web. Za chvíli tam mám prezentovat JAX-RS a potažmo Jersey a už se moc těším. Je to vlastně poprvé, kdy budu prezentovat mimo Java komunitu, a moc mě zajímá, jak na to budou lidi reagovat. Taky jsem zvědavý na přednášky ostatních.

Věším slajdy na http://blogs.sun.com/japod/resource/Jersey-WebExpo-Praha.pdf a vrhám se do víru konference...

WebExpo 2009
Posted at 11:15AM Oct 17, 2009 by Jakub Podlesak in Hezky česky  |  Comments[2]

Friday Sep 25, 2009
Jak se dostat do kanceláře SUNu v Praze na Chodově

Protože první poprázdninové setkání sdružení CZJUG proběhne vyjímečně v pražské kanceláři SUNu, zveřejňuji zde mapu, pár obrázků a stručný návod jak se na místo dostat.

Mapa

mapka okolí kanceláře SUNu na pražském Chodově

Kliknutím na mapu by se vám v prohlížeči měla otevřít aplikace mapy.cz, s nastavenou polohou místa setkání. Přesná adresa je: Praha 4, V Parku 8.

Jak se dostat dovnitř, aneb proč být na místě opravdu včas

Pro snazší orientaci přikládám raději i fotografie. Na té první je pohled směrem ke kanceláři od stanice metra a autobusů Chodov. Na druhé je vidět vlastní vchod do budovy. Po vstupu do areálu se jedná o první takový vchod vpravo, hned za kadeřnictvím a dvěma obchody s jídlem, pitím a časopisy.

Samotné setkání proběhne od 18h večer ve čtvrtém patře budovy, kam se musíte dostat přes celkem 2 recepce. Jedna recepce, provozovaná majitelem nemovitosti, je dole v přízemí. Tam vás pustí výtahem nahoru do 4. patra kde je ještě recepce firmy SUN. Prosím všechny účastníky setkání, aby byli na místě alespoň s desetiminutovým předstihem. Recepce SUNu totiž zavírá přesně v šest večer, a případným opozdilcům tak hrozí, že přijdou o poměrně velkou část první přednášky. Budu se sice snažit občas nakouknout ven, ale ten Gradle mě taky zajímá, takže nebudu na recepci pořád.

Doprava MHD

Je asi nejjednoduší možnost, jak se na Chodov dostat. Na místo jezdí linka metra C, případně autobusy č. 114, 122, 136 a 177. Jízdní řády lze snadno vyhledat na stránkách dopravního podniku, http://www.dpp.cz

Pojedete autem?

Vážně? I když akci sponzoruje společnost JetBrains kromě jiného chlazeným pivem? Co se dá dělat. Vzhledem k velké popularitě CZJUG setkání nejsem schopen garantovat parkování v garážích SUNu, takže tam prosím ani nejezděte. Máte ale možnost zaparkovat své auto v garážích obchodního centra Chodov, kde máte 3 hodiny parkování zdarma. Obchodní centrum je přímo na metru.

Máte nějaké dotazy? Prosím napiště je do komentáře, ať odpovědi vidí všichni. Těším se příští středu nashledanou!

Posted at 05:00PM Sep 25, 2009 by Jakub Podlesak in CZJUG  |  Comments[3]

Tuesday Jul 21, 2009
Jersey 1.1.1-ea Packages Available At GlassFish Update Center Repositories

Jersey version 1.1.1-ea was released a week ago. Paul described what's new at the released version at his blog.

Corresponding packages are now available to all GlassFish v2 users. The Jersey 1.1.1-ea packages were also published for selected GlassFish v3 based distributions and integrated into the v3 main trunk for those, who rely on the nightly builds. Enjoy!

Posted at 06:40PM Jul 21, 2009 by Jakub Podlesak in REST  |  Comments[3]

Thursday Jul 02, 2009
Soutěž o SunSPOT development kit

Stručně řečeno je SunSPOT malé víceúčelové elektronické zařízení programovatelné v Javě. Disponuje celou řadou senzorů (teplota, intenzita osvětlení, akcelerometry), dále anologovými a číslicovými vstupně/výstupními porty, dvěma mikrospínači, USB portem a obvody pro radiovou komunikaci. Více podrobností o technologii SunSPOT lze nalézt v angličtině na stránkách http://www.sunspotworld.com/ Na posledním setkání CZJUGu jsem technologii stručně představil, včetně dvou živých ukázek. Pokud budou ze setkání videa, dám link na ně do komentáře. Pokud máte zájem podívat se na nějaká videa už teď, můžete vyzkoušet třeba adresu http://www.youtube.com/watch?v=tv5ZaN9tSck

Firma SUN Microsystems věnovala našemu sdružení CZJUG SunSPOT development kit, který obsahuje 3 výše popsaná zařízení, včetně DVD média se softwarem potřebným k jejich programování. A právě o tento kit jsme se rozhodli uspořádat pro členy sdružení soutěž.

Pravidla soutěže

Přihlášky

Do soutěže se mohou přihlásit jednotliví členové sdružení CZJUG. Mohou tak učinit posláním e-mailu na mojí adresu (japod at sun dot com), a to nejpozději do konce tohoto měsíce, tj. července 2009. Přihlašovací e-mail by měl obsahovat plné jméno soutěžícího a jeho korespondenční adresu (fyzickou, ne e-mailovou). Počet soutěžících tímto omezuji na 20, po dosažení tohoto počtu už nebudu další přihlášky akceptovat.

Na setkání se mě několik lidí ptalo, zda mohou pracovat na řešení jako tým. Nemám s tím žádný problém, protože ani nedokážu poznat, kdo pracoval sám a kdo měl pomocníky. Chtěl bych jen zdůraznit, že přihlášky akceptuji pouze od jednotlivců, a vítězem bude pro mě z tohoto hlediska pouze jeden konkrétní člověk (tj. je na něm, jak se o případnou výhru podělí se zbytkem týmu)

Průběh soutěže

Soutěž bude dvoukolová. Z prvního kola postoupí do druhého pouze 3 řešitelé. Vítěz druhého kola bude vítězem celé soutěže, tj. vyhrává SunSPOT development kit.

První kolo

Cílem prvního kola bude vyrobit a zveřejnit prezentaci (může být i video, fantazii se meze nekladou) aplikace, která využívá technologii SunSPOT. Aplikace musí být omezena na použití zařízení obsažených v SunSPOT development kitu (2 plnohodnotné SunSPOTy + 1 základnová stanice) a můžete použít i počítač. Všechny prezentace musejí být volně dostupné na webu do konce září 2009. Do té doby také musím obdržet adresu každé prezentace na můj e-mail (japod at sun dot com).

Výběr postupujících bude probíhat následovně. Každý z účastníků, který dodá řešení pro 1. kolo, bude mít možnost rozdělit celkem 6 bodů mezi jednotlivé prezentované aplikace (tj. včetně aplikace vlastní), a to tak že třem různým řešením přidělí 3, resp. 2, resp. 1 bod. Po sečtení bodů postoupí do druhého kola soutěžící s nejvyšším počtem dosažených bodů. Kde nerozhodnou body, rozhodne veřejné losování. Informaci o technologii přidělování bodů sdělím účastníkům na začátku října.

Druhé kolo

Cílem druhého kola bude danou aplikaci implementovat a výsledek opět veřejně prezentovat. Pro tyto účely půjčím soutěžícím SunSPOT development kit, aby mohli aplikaci odladit. Připomínám, že volně ke stažení je k dispozici emulátor SunSPOTu, který lze využít už v průběhu prvního kola. Každopádně, kit mám jen jeden, takže se soutěžící budou muset ve druhém kole prostřídat. Podmínky střídání domluvím s konkrétními soutěžícími, kteří se do druhého kola probojují. Termín pro dodání finální prezentace stanovím na základě domluvy. Předběžně počítám s půjčením kitu vždy na asi 2-3 týdny. Mým cílem je vyhlásit konečný výsledek soutěže do Vánoc 2009.

Bodování výsledků druhého kola bude podobné jako v kole prvním. Bodovat budou moci všichni účastníci soutěže (tedy všichni co dodali řešení pro 1. kolo), ale body už budou přidělovat pouze řešením 2. kola. Při nejednoznačném výsledku rozhodne opět los.

Mezní situace

Napadají mě ještě různé mezní situace, které mohou nastat. Takže pro jistotu:

Posted at 03:56PM Jul 02, 2009 by Jakub Podlesak in CZJUG  |  Comments[2]

Monday Apr 27, 2009
Jersey 1.0.3 GlassFish V3 packages split up

Jersey version 1.0.3 is now available also to GlassFish V3 Prelude users via GFv3 update center. I am writing this, because several changes happened about how things work there.

As you can see at the snapshot, the first big change relates to number of Jersey packages. Started from the 1.0.3 version, we are providing two separate packages.

We are going to integrate with GlassFish V3 bits, so that people would not need to install Jersey separately. And as we wanted to lower the Jersey footprint in GlassFish V3, we have broken the original Jersey package down into two separate modules:

The "Jersey Core" package contains OSGI modules for jersey-bundle, jettison, and jackson-asl libraries. This should be sufficient for you to deploy Jersey based web applications to GlassFish V3 Prelude without a need to bundle any Jersey related jars with your application WAR file and should be good for production.

"Jersey Examples and Documentation" package contains Jersey API javadocs and some examples. This package should be useful especially for developers, who want to learn Jersey, and see how it works before developing their own RESTful web applications. If you choose this package, the UC client will automatically install also the "Jersey core" module, and you will get installed everything you need to start up.

A rather cosmetic change happened to location, where jersey subdirectory gets installed into. It has moved from $AS_HOME/jersey to $AS_HOME/glassfish/jersey.

When upgrading from earlier versions of Jersey, you could be a bit confused with consequences of the above described changes. So if you upgraded into a newer Jersey version and try to figure out, where all Jersey examples and docs went, just install "Jersey Examples and Documentation" in addition and it should re-appear in $AS_HOME/glassfish/jersey.

Posted at 11:52AM Apr 27, 2009 by Jakub Podlesak in REST  |  Comments[0]

Wednesday Apr 22, 2009
Jersey aplication sharing Grizzly with static content and servlets

I was asked the question some time ago by one of my colleges here at SUN, and the same question was asked again recently at our user mailing list: "I want to run Jersey based application on Grizzly web server, but i want to also run another servlet from there, and possibly also serve some static content using the very same Grizzly sever instance. How do i do that?"

The answer is as simple as follows. Having imported

import com.sun.grizzly.http.embed.GrizzlyWebServer;
import com.sun.grizzly.http.servlet.ServletAdapter;
import com.sun.jersey.spi.container.servlet.ServletContainer;

You can just use:

        // static content is linked from here
        GrizzlyWebServer gws = new GrizzlyWebServer(8080, "/var/www");

        // Jersey web resources
        ServletAdapter jerseyAdapter = new ServletAdapter();
        jerseyAdapter.addInitParameter("com.sun.jersey.config.property.packages",
                "com.example");
        jerseyAdapter.setContextPath("/jersey");
        jerseyAdapter.setServletInstance(new ServletContainer());
        
        // Another non-Jersey servlet
        ServletAdapter simpleServletAdapter = new ServletAdapter();
        simpleServletAdapter.setContextPath("/simple");
        simpleServletAdapter.setServletInstance(new SimpleServlet());

        // register all above defined adapters
        gws.addGrizzlyAdapter(jerseyAdapter, new String[] {"/jersey"});
        gws.addGrizzlyAdapter(simpleServletAdapter, new String[] {"/simple"});

        // let Grizzly run
        gws.start();

Your Jersey resource classes are placed in com.example package, and will become accessible at http://localhost:8080/jersey base. Your static content for http://localhost:8080/ is taken from /var/www directory and a SimpleServlet will become available at http://localhost:8080/simple.

The only dependency you will need to include other than Jersey dependencies itself is

        <dependency>
            <groupId>com.sun.grizzly</groupId>
            <artifactId>grizzly-servlet-webserver</artifactId>
            <version>1.9.10</version>
        </dependency>

If you are interested in some more advanced scenarios, you can get inspired at Jean-Francois Arcand's blog post

Posted at 12:04PM Apr 22, 2009 by Jakub Podlesak in REST  |  Comments[3]