[kepler-users] Kepler Web Service "Footprint"

Christopher Brooks cxh at eecs.berkeley.edu
Tue Jan 19 10:16:39 PST 2010


Hi Jim,
One trick I used is a form of tree shaking where I run java with -verbose
and then capture output, which is a list of classes that are loaded.
This has the downside in that only classes that are actually used are
found, so code for exception handling might be missed.  Applying tree
shaking might help you determine what packages are needed.

As an alternative to tree shaking, read on . . .

To build a smaller Ptolemy, you might want to look at how we build
Web Start images in Ptolemy.  The short answer is that ptII/mk/jnlp.mk
lists what jar files are used by various deliverables.  When Ptolemy
is built using make (instead of using the Kepler build system), it
is possible to create jar files at a per package and per package +
required packages.

If you do
cd $PTII
./configure
make >& make.out
make install
Then jar file like ptolemy/ptsupport.jar will be created.
The ptsupport.jar file contains core code needed for Ptolemy

See http://ptolemy.eecs.berkeley.edu/ptolemyII/ptIIfaq.htm#invoking%20Ptolemy%20II?
for a list of jars needed to invoke a minimal version of Ptolemy.
That list may need to be updated, I can take a look.

The above is outside of the Kepler build system, but would help
you build a much smaller Ptolemy engine.

_Christopher

On 1/19/10 9:25 AM, Amrhein, James S. (GSFC-610.2)[ADNET SYSTEMS INC] wrote:
> What is the smallest footprint can I get Kepler/Web service  to be on a deployed server? Currently deployed  it's ~ 2.0 gigs.  I'm asking for suggestions where I can prune extra items, or at least make this process easier to use with CVS. I'm currently archiving a zipped version of webservice directory in CVS.  So here's what I'm doing so far:
>
> My current "build procedure" is the following:
>     (From build-area) :
>                         ant compile
>                         ant jar
>                         cp ../mymodules/target/mymodule.jar
> ../webservice/KeplerWebService/lib/kepler/
>                         ant package -Dname=keplerPkg
>
> What I end up with is :
>
> -rw-r--r--  1 me users 834M Jan 13 19:28 keplerPkg.zip
>
> Which gets deployed to a baseline server.
>
> Once it's unpackaged, on the server, the following steps are executed:
>
> 1. webservice/KeplerWebService/conf/wfWSProps.properties is updated
> with the proper information
> 2. From webservice/KeplerWebService/
>       ant compile/generate.service and deployToTomcat.
>
>
> Are there any tricks to making this deployment smaller? One approach I
> tried, was to build Kepler once (like I described)
> and any updates I made to my actors. I would deploy the actors to
> webservice and zip/copy the webservice directory. That turned out to
> still be 125 mbs. Smaller, but it felt clumsy.  Any better approaches?
>
> Thanks,
>         JSA
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users

-- 
Christopher Brooks, PMP                       University of California
CHESS Executive Director                      US Mail: 337 Cory Hall
Programmer/Analyst CHESS/Ptolemy/Trust        Berkeley, CA 94720-1774
ph: 510.643.9841 fax:510.642.2718	      (Office: 545Q Cory)
home: (F-Tu) 707.665.0131 cell: 707.332.0670



More information about the Kepler-users mailing list