<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Francois Orsini&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/forsini/" />
<modified>2006-11-30T22:08:58Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/forsini/318</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2006, forsini</copyright>
<entry>
<title>Java Remains No. 1 Programming Language</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/forsini/archive/2006/11/java_remains_no.html" />
<modified>2006-11-30T22:08:58Z</modified>
<issued>2006-11-30T22:08:52Z</issued>
<id>tag:weblogs.java.net,2006:/blog/forsini/318.6068</id>
<created>2006-11-30T22:08:52Z</created>
<summary type="text/plain">Interesting article from JDJ Java News Desk. Java now holds the market penetration lead at 45%. Note that Ajax grew (by 10%) to reach a total penetration level of 28%....</summary>
<author>
<name>forsini</name>

<email>Francois.Orsini@Sun.COM</email>
</author>
<dc:subject>Programming</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/forsini/">
<![CDATA[<a href="http://java.sys-con.com/read/307112.htm">Interesting article</a> from JDJ <a href="http://java.sys-con.com/author/2736newsdesk.htm">Java News Desk</a>.
<p>
Java now holds the market penetration lead at 45%.
<p>
Note that Ajax grew (by 10%) to reach a total penetration level of 28%.]]>

</content>
</entry>
<entry>
<title>Java DB is now part of Sun&apos;s JDK</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/forsini/archive/2006/06/java_db_is_now.html" />
<modified>2006-06-16T07:02:14Z</modified>
<issued>2006-06-16T06:59:13Z</issued>
<id>tag:weblogs.java.net,2006:/blog/forsini/318.5040</id>
<created>2006-06-16T06:59:13Z</created>
<summary type="text/plain">Java DB Alpha 10.2 based on Apache Derby gets bundled into Sun&apos;s JDK 1.6 Mustang Build 88.</summary>
<author>
<name>forsini</name>

<email>Francois.Orsini@Sun.COM</email>
</author>
<dc:subject>Databases</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/forsini/">
<![CDATA[<p>Pure fiction or reality? well, this is one of the two and yes it has become a reality! - It is a very exciting event indeed to have an Open Source Java Database System bundled into Sun's *latest* 1.6 JDK (<b>Mustang build 88</b> to be more precised), and at no cost.</p>

<p><a href="http://developers.sun.com/prodtech/javadb/index.jsp">Java DB</a> is based on <a href="http://db.apache.org/derby/index.html">Apache Derby</a> and is Sun's redistribution of this last one.</p>

<p>It is a fully transactional, Java technology-based relational database with support for open standards such as SQL, JDBC, Java EE, Java ME CDC – concurrent users, triggers, Java stored procedures and encryptable databases, it is only 2 MB and free! Java DB is based on an <a href="http://db.apache.org/derby/index.html">Apache project</a> with a strong and growing community which includes developers from Sun and IBM.</p>

<p>Sun's JDK 1.6 Build 88 is <b>now</b> available at <a href="http://download.java.net/jdk6/binaries/">http://download.java.net/jdk6/binaries/</a></p>

<p>You will find the distribution of Java DB under the '<b>db</b>' directory of the main JDK install.</p>

<p>The release of Java DB bundled with the JDK is a 10.2 <b>Alpha</b> version. See <a href="http://weblogs.java.net/blog/davidvc/archive/2006/06/java_db_is_bund.html">David Van couvering</a>'s weblog entry regarding database upgrade limitation and how to get support from Sun and/or the Apache Derby comunity.</p>

<p>This allows Java developers to build applications even more rapidly and easily by having access to a Java Database which implements many features from the latest JDBC4 API <a href="http://jcp.org/aboutJava/communityprocess/pr/jsr221/index.html">Specification</a>, directly out of the JDK.</p>

<p>Java DB is easy to use and can run embedded as part of your application, as well as in a client/server topology. It can be deployed via <a href="http://java.sun.com/products/javawebstart/">Java Web Start</a>, <a href="http://weblogs.java.net/blog/forsini/archive/2006/04/compressing_apa.html">compressed down to around ~650KB</a> and easily <a href="http://weblogs.java.net/blog/forsini/archive/2006/04/embedding_apach.html">embeddable into a web browser</a> as a Java plug-in extension.</p>

<p>Congratulations to all the persons involved who made this possible!</p>]]>

</content>
</entry>
<entry>
<title>Embedding Apache Derby in Mozilla Firefox demo posted</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/forsini/archive/2006/04/embedding_apach.html" />
<modified>2006-06-09T00:45:50Z</modified>
<issued>2006-04-30T07:34:28Z</issued>
<id>tag:weblogs.java.net,2006:/blog/forsini/318.4606</id>
<created>2006-04-30T07:34:28Z</created>
<summary type="text/plain">Embedding Apache Derby in Mozilla Firefox to run as a local storage and cache for web applications.</summary>
<author>
<name>forsini</name>

<email>Francois.Orsini@Sun.COM</email>
</author>
<dc:subject>Databases</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/forsini/">
<![CDATA[<p>This <a href="http://developers.sun.com/prodtech/javadb/overview/product_tour/index.jsp">demo</a> showcases Java DB (based on Apache Derby) running embedded within a web browser.</p>

<p>At the present time, this demo runs on Mozilla Firefox and Mozilla Navigator web browsers - The HTML and javascript would have to be modified in order to run on other web browsers such as Microsoft Internet Explorer.</p>

<p>This Web application demonstrates how an embedded database can be used to persist data from a tax return being created either online or offline. The application can be deployed manually or automatically using Sun's Java Plug-in with installing the application as a Java Extension.</p>

<p>Apache Derby will run embedded within the browser and act as a local storage and cache for this last one.</p>

<p>You can now get all the information about the demo embedding <a href="http://developers.sun.com/prodtech/javadb/">JavaDB</a> within a web browser, which was shown at ApacheCon 05'.</p>

<p>Direct link to the demo information page can be found at <a href="http://developers.sun.com/prodtech/javadb/overview/product_tour/index.jsp">http://developers.sun.com/prodtech/javadb/overview/product_tour/index.jsp</a>.</p>

<p>The minimal requirement for the demo is to install Sun's Java plug-in extension for the web browser. This demo does not run on Apple Mac OS X yet (work in progress).</p>

<p>You can also read some additional information on a previous blog <a href="http://blogs.sun.com/roller/page/FrancoisOrsini/20051214">entry</a>.</p>]]>

</content>
</entry>
<entry>
<title>Compressing Apache Derby w/ Pack200</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/forsini/archive/2006/04/compressing_apa.html" />
<modified>2006-06-09T00:45:50Z</modified>
<issued>2006-04-30T07:26:22Z</issued>
<id>tag:weblogs.java.net,2006:/blog/forsini/318.4605</id>
<created>2006-04-30T07:26:22Z</created>
<summary type="text/plain">How to improve web deployment of Apache Derby with Java 5 Pack200 technology.</summary>
<author>
<name>forsini</name>

<email>Francois.Orsini@Sun.COM</email>
</author>
<dc:subject>Deployment</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/forsini/">
<![CDATA[<p>PACK200 (JSR-200) is a very interesting feature that is available as part of Java 5.</p>

<p>In order to increase network server, availability and bandwidth , two new compression formats have been made available to Java deployment of applications and applets: gzip and Pack200.</p>

<p>HTTP compression is implemented in Java Web Start and Java Plug-in in compliance with HTTP 1.1 RFC 2616. If a client does not support this type of compression then a web server will send a non-compressed JAR or a format that the client can process.</p>

<p>More information about Pack200 at:<br />
<a href="http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html">http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html</a></p>

<p>I have compressed the <a href="http://db.apache.org/derby/index.html">Apache Derby</a> engine JAR file (derby.jar) using pack200 and the resulting JAR went from 2,131,777 to 630,520 bytes (<b>~2MB down to 600K</b> for the database core engine!). Uncompression happens on the client side automatically once the pack200 compressed JAR has been fetched.</p>

<p>To compress/pack the JAR archive:<br />
$ pack200 derby.jar.pack.gz derby.jar</p>

<p>It then can be stored on a HTTP 1.1 compliant web server and if a web client support pack200-gzip encoding (specified as part of the HTTP request), then the server will send that compressed JAR down - otherwise the server will stream/send a format that the client can process (compressed {gzip} or not {.jar}).</p>

<p>To unpack (manually):<br />
$ unpack200 derby.jar.pack.gz derby.jar (the unpack operation is actually pretty fast)</p>

<p>This is quite good when one needs to deploy Apache Derby over a network (i.e. Applet using Derby with the Java plug-in, etc) or as part of some installer who would want to pack JARs even more efficiently and then unpack them during install (unpack200{.exe} is a standalone executable that can be included as part of an installer)</p>

<p>pack200 and unpack200 are pure executable(s) that do not require a JVM to be present or run at the time an archive is compressed or uncompressed (i.e. during installation)</p>

<p>unpack200 (Unix) or unpack200.exe(Windows) included as part of the JRE as well (under bin)</p>

<p>Pack200 also has a Java API (java.util.jar.Pack200):<br />
<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/Pack200.html">http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/Pack200.html</a><br />
The packer engine is used by application developers to deploy or host JAR files on a website. The unpacker engine is used by deployment applications to transform the byte-stream back to JAR format.</p>

<p>This does not reduce the runtime footprint of Apache Derby - it basically provides means to <b>reduce the network footprint</b> of JARs during download. Pack200 also supports the packing of *signed* JARs.</p>]]>

</content>
</entry>

</feed>