<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>JavaTechOut&#039;s</title>
	<atom:link href="http://pythonisnotsnake.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pythonisnotsnake.wordpress.com</link>
	<description>Java..Java..java..and...Java</description>
	<lastBuildDate>Thu, 18 Aug 2011 02:18:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pythonisnotsnake.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>JavaTechOut&#039;s</title>
		<link>http://pythonisnotsnake.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pythonisnotsnake.wordpress.com/osd.xml" title="JavaTechOut&#039;s" />
	<atom:link rel='hub' href='http://pythonisnotsnake.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Installation Hadoop+Hive dan Porting data dari Postgresql ke Hive</title>
		<link>http://pythonisnotsnake.wordpress.com/2011/05/23/installation-hadoophive-dan-porting-data-dari-postgresql-ke-hive/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2011/05/23/installation-hadoophive-dan-porting-data-dari-postgresql-ke-hive/#comments</comments>
		<pubDate>Mon, 23 May 2011 15:49:54 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Software Dev]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=98</guid>
		<description><![CDATA[Judulnya aneh? hmm,ngga sih,tergantung kebutuhan aja gan ..okeh,saya akan sedkit berbagi mengenai kelanjutan tugas saya dikantor,jadi melanjutkan permasalahan yang diberikan pada manager saya,so akhirnya mulai-mulai deh install Hadoop dkk.. okeh,pertama-tama instlall hadoop dulu,download hadoop di sini untuk yang versi asli apache,dan di sini (include sqoop,dan hive-nya)untuk yang bundelan dari cloudera..saya pakai yang cloudera karena sqoop membutuhkan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=98&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Judulnya aneh?</p>
<p>hmm,ngga sih,tergantung kebutuhan aja gan <img src='http://s1.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ..okeh,saya akan sedkit berbagi mengenai kelanjutan tugas saya dikantor,jadi melanjutkan permasalahan yang diberikan pada manager saya,so akhirnya mulai-mulai deh install Hadoop dkk..</p>
<p>okeh,pertama-tama instlall hadoop dulu,download hadoop di <a title="Sini" href="http://hadoop.apache.org/common/releases.html#Download" target="_blank">sini</a> untuk yang versi asli apache,dan di <a title="sini" href="https://ccp.cloudera.com/display/SUPPORT/Downloads" target="_blank">sini</a> (include sqoop,dan hive-nya)untuk yang bundelan dari cloudera..saya pakai yang cloudera karena sqoop membutuhkan library hadoop yang sudah ditambah oleh cloudera..:D..</p>
<p>selanjutnya untar folder hadoop dan kawan-kawan,jangan lupa set Hadoop home,</p>
<pre class="brush: bash;">
 export HADOOP_HOME=/opt/hadoop-0.20.2-cdh3u0
 export PATH=$PATH:$HADOOP_HOME/bin
 export HIVE_HOME=/opt/hive-0.7.0-cdh3u0
 export PATH=$PATH:$HIVE_HOME/bin
 export SQOOP_HOME=/opt/sqoop-1.2.0
 export PATH=$PATH:$SQOOP_HOME/bin
 </pre>
<p>kalo saya kira-kira path-nya seperti itu untuk hadoop,sqoop,dan Hivenya..</p>
<p>okeh,selanjutnya vim atau gedit file configure-sqoop yang ada pada direktori bin/ dari SQOOP_HOME..</p>
<p>pertanyaannya untuk apa?</p>
<p>sebenarnya hal ini dibutuhkan hanya jika bagi anda yang melakukan instalasi hadoop+hive+sqoop saja,karena pada dasarnya sqoop secara default harus terinclude ZOOKEEPER,HBASE</p>
<pre class="brush: bash;">
&lt;pre&gt;#!/bin/bash
#
# Licensed to Cloudera, Inc. under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# Cloudera, Inc. licenses this file to You under the Apache License, Version 2.0
# (the &quot;License&quot;); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This is sourced in by bin/sqoop to set environment variables prior to
# invoking Hadoop.

bin=&quot;$1&quot;

if [ -z &quot;${bin}&quot; ]; then
  bin=`dirname $0`
  bin=`cd ${bin} &amp;&amp; pwd`
fi

if [ -z &quot;$SQOOP_HOME&quot; ]; then
  export SQOOP_HOME=${bin}/..
fi

# Find paths to our dependency systems. If they are unset, use CDH defaults.

if [ -z &quot;${HADOOP_HOME}&quot; ]; then
  HADOOP_HOME=/usr/lib/hadoop
fi
#if [ -z &quot;${HBASE_HOME}&quot; ]; then
#  HBASE_HOME=/usr/lib/hbase
#fi
#if [ -z &quot;${ZOOKEEPER_HOME}&quot; ]; then
#  ZOOKEEPER_HOME=/usr/lib/zookeeper
#fi

# Check: If we can't find our dependencies, give up here.
if [ ! -d &quot;${HADOOP_HOME}&quot; ]; then
  echo &quot;Error: $HADOOP_HOME does not exist!&quot;
  echo 'Please set $HADOOP_HOME to the root of your Hadoop installation.'
  exit 1
fi
#if [ ! -d &quot;${HBASE_HOME}&quot; ]; then
#  echo &quot;Error: $HBASE_HOME does not exist!&quot;
#  echo 'Please set $HBASE_HOME to the root of your HBase installation.'
#  exit 1
#fi
#if [ ! -d &quot;${ZOOKEEPER_HOME}&quot; ]; then
#  echo &quot;Error: $ZOOKEEPER_HOME does not exist!&quot;
#  echo 'Please set $ZOOKEEPER_HOME to the root of your ZooKeeper installation.'
#  exit 1
#fi

# Where to find the main Sqoop jar
SQOOP_JAR_DIR=$SQOOP_HOME

# If there's a &quot;build&quot; subdir, override with this, so we use
# the newly-compiled copy.
if [ -d &quot;$SQOOP_JAR_DIR/build&quot; ]; then
  SQOOP_JAR_DIR=&quot;${SQOOP_JAR_DIR}/build&quot;
fi

function add_to_classpath() {
  dir=$1
  for f in $dir/*.jar; do
    SQOOP_CLASSPATH=${SQOOP_CLASSPATH}:$f;
  done

  export SQOOP_CLASSPATH
}

# Add sqoop dependencies to classpath.
SQOOP_CLASSPATH=&quot;&quot;
if [ -d &quot;$SQOOP_HOME/lib&quot; ]; then
  add_to_classpath $SQOOP_HOME/lib
fi

# Add HBase to dependency list
#add_to_classpath $HBASE_HOME
#add_to_classpath $HBASE_HOME/lib

#HBASE_CONF_DIR=${HBASE_CONF_DIR:-${HBASE_HOME}/conf}
SQOOP_CLASSPATH=${HBASE_CONF_DIR}:${SQOOP_CLASSPATH}

#add_to_classpath $ZOOKEEPER_HOME
#add_to_classpath $ZOOKEEPER_HOME/lib

SQOOP_CONF_DIR=${SQOOP_CONF_DIR:-${SQOOP_HOME}/conf}
SQOOP_CLASSPATH=${SQOOP_CONF_DIR}:${SQOOP_CLASSPATH}

# If there's a build subdir, use Ivy-retrieved dependencies too.
if [ -d &quot;$SQOOP_HOME/build/ivy/lib/sqoop&quot; ]; then
  for f in $SQOOP_HOME/build/ivy/lib/sqoop/*/*.jar; do
    SQOOP_CLASSPATH=${SQOOP_CLASSPATH}:$f;
  done
fi

add_to_classpath ${SQOOP_JAR_DIR}

export SQOOP_CLASSPATH
export SQOOP_CONF_DIR
export SQOOP_JAR_DIR
export HADOOP_CLASSPATH=&quot;${SQOOP_CLASSPATH}:${HADOOP_CLASSPATH}&quot;
export HADOOP_HOME
#export HBASE_HOME&lt;/pre&gt;
</pre>
<p>uncomment sesuai yang saya kasih tanda #,selanjutnyaaaa,save dan kita sudahi hack kita dengan mengeksekusi sqoop(sql to hadoop)..</p>
<p>eits,perlu diingat,ketika kita akan mengeksekusi sqoop,jangan lupa tambahkan library jdbc sesuai database yang kita pakai,misalkan:</p>
<pre class="brush: bash;">

sqoop import-all-tables --connect jdbc:postgresql://localhost/TestDB --username postgres --password postgres --hive-import
</pre>
<p>artinya kita ingin agar data dari database lama kita,kita pindahkan ke sqoop..</p>
<p>jika anda menggunakan ubuntu dan gagal pada saat pertama kali,<strong>Tenang,</strong>mungkin kegagalan anda disebabkan oleh masalah privilege,anda bisa menjdai super user untuk kembali mengeksekusi sqoop..:D..</p>
<p>BTW jangan lupa buat foldernya dulu yah,baru dieksekusi commandnya di folder tersebut,folder ini sebagai HDFS..</p>
<p>oke,tinggal jalankan hive pada console dan lakukan query layaknya sql..</p>
<p>dan hasilnya?</p>
<p> <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>semoga manfaat</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=98&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2011/05/23/installation-hadoophive-dan-porting-data-dari-postgresql-ke-hive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Hadoop and Hive : Porting dari Postgresql ke Hive Menggunakan sqoop</title>
		<link>http://pythonisnotsnake.wordpress.com/2011/05/17/hadoop-and-hive-porting-dari-postgresql-ke-hive-menggunakan-sqoop/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2011/05/17/hadoop-and-hive-porting-dari-postgresql-ke-hive-menggunakan-sqoop/#comments</comments>
		<pubDate>Tue, 17 May 2011 12:00:29 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=91</guid>
		<description><![CDATA[pertanyaan setelah membaca judul post diatas ialah,mengapa hal ini diperlukan? hmmm..jawabannya relatif terhadap kebutuhan,contohnya jika kita ingin menggunakan hadoop ketimbang postgresql sebagai database akibat masalah performance.. sebelumnya apa sih hadoop? simplenya hadoop ialah farmework opensource untuk keperluan map reduce,nah pertanyaan lagi,apa itu map reduce? cari aja di google dikantor kebetulan sedang menghadapi masalah performance akibat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=91&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>pertanyaan setelah membaca judul post diatas ialah,mengapa hal ini diperlukan? hmmm..jawabannya relatif terhadap kebutuhan,contohnya jika kita ingin menggunakan hadoop ketimbang postgresql sebagai database akibat masalah performance..</p>
<p>sebelumnya apa sih hadoop?</p>
<p>simplenya hadoop ialah farmework opensource untuk keperluan map reduce,nah pertanyaan lagi,apa itu map reduce? cari aja di google <img src='http://s1.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>dikantor kebetulan sedang menghadapi masalah performance akibat aplikasi yang seharusnya realtime namun cara pengambilan querynya layaknya dongen a.k.a data mining..so,cara ngakalinnya gimana?</p>
<p>saya mengusulkan untuk mengganti database postgresql,nah pilihannya,</p>
<p>1. pake Database NoSQL yang menjamin Integrity and Reliabilty (setau gw sih HBASE kalo ga salah)</p>
<p>2. pake hadoop</p>
<p>entah kenapa yang dipilih justru hadoop,mungkin karena bebrapa alasan yang gw ga ngerti(maklum dalam hal pengalaman ane minim bgd)..</p>
<p>so,mulailah cari-cari cara untuk mengatasi permasalahan ini..</p>
<p>ok,kendala yang pertama kali ditemukan ialah..</p>
<p>1. bagaimana cara memindahkan arsitektur yang sudah eksis kedalam hdfs,lebih tepatnya data?</p>
<p>2. how to query the data?</p>
<p>3. apakah butuh waktu lama untuk diimplementasi?</p>
<p>hadoop jika kita mengimpementasi pure,untuk query sendiri sangatlah rumit,so ada interface untuk hadoop dengan query layaknya SQL,ialah <a title="HIVE" href="https://ccp.cloudera.com/display/CDHDOC/Hive+Installation" target="_blank">hive</a> yang dapat melakukan hal itu..</p>
<p>selanjutnya,bagaimana cara kita porting data yang sudah ada?apakah itu mungkin?</p>
<p>jawbannya mungkin,thank to <a title="sqoop" href="https://ccp.cloudera.com/display/CDHDOC/Sqoop+Installation" target="_blank">sqoop</a>,proses ini tidak lagi mejadi sulit..</p>
<p>oke,oke,sekarang masalahnya how to?</p>
<p>hmm,next post akan dijelaskan penginstalan sampai kita bias query data ke hive..:D</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=91&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2011/05/17/hadoop-and-hive-porting-dari-postgresql-ke-hive-menggunakan-sqoop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Cassandra</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/08/05/cassandra/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/08/05/cassandra/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 05:16:35 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=39</guid>
		<description><![CDATA[Cassandra Berikut ini merupakan sedikit hasil yang sudah diteliti (oleh saya dan dikutip dari beberapa artikel) tentang cassandra, pertama saya akan menjelaskan tentang model data dari cassandra itu sendiri, karena data model dari cassandra itu sendiri sangat berbeda bagi orang yang mempunyai latar belakang RDBMS. Berikut penjelasannya. Column Pertama kita akan membahas bagian terendah dari [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=39&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Cassandra<br />
Berikut ini merupakan sedikit hasil yang sudah diteliti (oleh saya dan dikutip dari beberapa artikel) tentang cassandra, pertama saya akan menjelaskan tentang model data dari cassandra itu sendiri, karena data model dari cassandra itu sendiri sangat berbeda bagi orang yang mempunyai latar belakang RDBMS. Berikut penjelasannya.<br />
Column<br />
Pertama kita akan membahas bagian terendah dari increment data itu sendiri, misalkan dalam bentuk sederhana, column itu merupakan:<br />
{<br />
    name: &#8220;emailAddress&#8221;,<br />
    value: &#8220;arin@example.com&#8221;,<br />
    timestamp: 123456789<br />
}<br />
Jadi berisi standar nama data dan value dari data tersebut. Timestamp bisa masuk atu tidak. Isi data bisa string atu sebenarnya bertipe byte[].<br />
SuperColumn<br />
	Selanjutnya ialah supercolumn,ialah nama data dan value yang berisi map (collection) dari column yang tidak terbatas, kuncinya menggunakan nama column. Misal:<br />
{   // ini superColumn<br />
    name: &#8220;homeAddress&#8221;,<br />
    // dengan jumlah deretan tak terbatas dari column<br />
    value: {<br />
	// perhatikan bahwa key ialah nama dari column<br />
        street: {name: &#8220;street&#8221;, value: &#8220;1234 x street&#8221;, timestamp: 123456789},<br />
        city: {name: &#8220;city&#8221;, value: &#8220;san francisco&#8221;, timestamp: 123456789},<br />
        zip: {name: &#8220;zip&#8221;, value: &#8220;94107&#8243;, timestamp: 123456789},<br />
    }<br />
}</p>
<p>Jadi perbedaan terbesar antara column dan super column ialah bahwa column berisi string data dengan tambahan timpestamp sedangkan supercolumn berisi map (collection) dari column dan tidak mempunyai timestamp.</p>
<p>Sederhananya:<br />
homeAddress://merupakan supercolumn {<br />
    street: &#8220;1234 x street&#8221;,//column<br />
    city: &#8220;san francisco&#8221;,<br />
    zip: &#8220;94107&#8243;,<br />
}</p>
<p>Selanjutnya, kita akan membahas struktur untuk menggroupkan supercolumn dan column, yaitu ColumnFamily, dan terdapat dua jenis, yaitu standard dan super.</p>
<p>ColumnFamily<br />
ColumnFamily ialah struktur yang berisi jumlah row tak terbatas, setiap row mempunyai key yang user berikan dan berisi map (collection). Key dalam map adalah nama dari column dan valuesnya adalah column dari diri mereka sendiri.<br />
UserProfile = { // ini adalah ColumnFamily<br />
    phatduckk: {   //ini adalah key untuk row ini dalam ColumnFamily<br />
	//sekarang kita punya jumlah tak terbatas dari column dlam baris ini<br />
        username: &#8220;phatduckk&#8221;,<br />
        email: &#8220;phatduckk@example.com&#8221;,<br />
        phone: &#8220;(900) 976-6666&#8243;<br />
    }, // end row<br />
    ieure: {   //ini adalah key lain untuk row ini dalam ColumnFamily<br />
        //sekarang kita punya jumlah tak terbatas dari column dlam baris ini<br />
        username: &#8220;ieure&#8221;,<br />
        email: &#8220;ieure@example.com&#8221;,<br />
        phone: &#8220;(888) 555-1212&#8243;<br />
        age: &#8220;66&#8243;,<br />
        gender: &#8220;undecided&#8221;<br />
    },<br />
}</p>
<p>Dalam pemrograman java, jenis seperti ini akan sama dengan hashMap/dictionary.<br />
Cassandra mempunyai konsep schemaless, terlihat pada contoh pada key phatduckk,column ialah username,email,phone, sedangkan pada ieure username,email,phone,age,gender, berbeda bukan? Hal ini disebabkan dalam cassandra tidak memaksakan dalam suatu key harus sesuai schema yang ada, sifat ini membuat cassandra sangat flexible.</p>
<p>ColumnFamily dengan tipe super<br />
Telah dijelaskan sebelumnya bahwa column family dapat bertipe standard maupun super. Contoh diatas merupakan ColumnFamily dengan type standard. Disebut standard karena setiap row berisi map dari normal column, bukan supercolumns.<br />
Saat ColumnFamily bertipe super, maka setiap row akan berisi supercolumns, alias valuenya berisi map of collection. Dalam ColumnFamily ini tidak ada columnfamily bertipe standard. Contohnya:<br />
AddressBook = { // ColumnFamily dengan tipe super<br />
    phatduckk: {    // ini adalah key untuk row pada Super CF<br />
	//key disini ialah nama dari pemilik dari addressbook<br />
	//sekarang kita mempunyai jumlah tak terbatas dari supercolumn pada //baris ini<br />
        //key dalam row adalah nama untuk superColumns<br />
	//setiap dari supercolumns ialah address book entry<br />
        friend1: {street: &#8220;8th street&#8221;, zip: &#8220;90210&#8243;, city: &#8220;Beverley Hills&#8221;, state: &#8220;CA&#8221;},</p>
<p>	//ini adalah adderss book entry untuk John dalam phatduckks address //book<br />
        John: {street: &#8220;Howard street&#8221;, zip: &#8220;94404&#8243;, city: &#8220;FC&#8221;, state: &#8220;CA&#8221;},<br />
        Kim: {street: &#8220;X street&#8221;, zip: &#8220;87876&#8243;, city: &#8220;Balls&#8221;, state: &#8220;VA&#8221;},<br />
        Tod: {street: &#8220;Jerry street&#8221;, zip: &#8220;54556&#8243;, city: &#8220;Cartoon&#8221;, state: &#8220;CO&#8221;},<br />
        Bob: {street: &#8220;Q Blvd&#8221;, zip: &#8220;24252&#8243;, city: &#8220;Nowhere&#8221;, state: &#8220;MN&#8221;},<br />
        &#8230;</p>
<p>    }, // end row<br />
    ieure: {     // this is the key to another row in the Super CF<br />
        // all the address book entries for ieure<br />
        joey: {street: &#8220;A ave&#8221;, zip: &#8220;55485&#8243;, city: &#8220;Hell&#8221;, state: &#8220;NV&#8221;},<br />
        William: {street: &#8220;Armpit Dr&#8221;, zip: &#8220;93301&#8243;, city: &#8220;Bakersfield&#8221;, state: &#8220;CA&#8221;},<br />
    },<br />
}</p>
<p>KeySpace<br />
Keyspace ialah pengelompokan terluar dari data kita, semua columnFamily ada dalam keyspace. Keyspace bisa mempunyai banyak ColumnFamily tapi tidak berarti kita bisa amennetukan relasi diantaranya, sebagai contoh, ColumnFamily tidak seperti tabel dalam mysql, kita tidak bisa menjoinkannya, lalu, karena columnFamily_1 punya row dengan key “phatduck” itu tidak berarti columnFamily_2 punya satu juga.<br />
Sorting<br />
Cassandra itu tidak queryable seperti SQL, kita tidak menspesifikasikan bagaimana kita ingin data itu tersorting saat kita melakukan fetcing. Data akan di sort secepat kita menaruh data kedalam cluster dan akan selalu tersorting. Ini adalah performa dahsyat untuk mempercepat saat read tapi sebagai gantinya kita harus memastikan untuk merencanakan data model kita dalam suatu cara agar bisa memenuhi pola akses kita. Ajdi penentuan ini tidaklah boleh main – main.<br />
Column selalu tersortir dalam rownya sesuai nama columnnya. Jadi column itu selalu tersortir sesuai dengan namanya. Bagaimana nama tersebut dibandingkan bergantung dari ColumnFamilys CompareWith option. Secara kasat, kita mempunyai beberapa pilihan antara lain BytesType, UTF8Type, LexicalUUIDType, TimeUUIDType, AsciiType, dan LongType. Setiap pilihan perlakuannya beda terhadap Column name. sebagai contoh,menggunakan Longtype akan memperlakukan columns name sebagai 64 bit Long.</p>
<p>ColumnFamilys</p>
<p>SuperColumnFamilys</p>
<p>Tipe Query yang dimiliki cassandra<br />
1.Single Column<br />
2.Slice<br />
a.Set dari nama/set dari range<br />
b.Simple Slice -&gt; column<br />
c.Super Slice -&gt; super column<br />
3.Key Range<br />
Tiap Query merupakan penggunaan api yang disediakan oleh thrift, jadi untuk lebih jelas bisa membuka Cassandra API.</p>
<p>Modifikasi<br />
1.Insert/update<br />
2.Remove<br />
3.Satu Column atau Batch<br />
4.Spesifikasikan W(wait), jumlah node untuk ditunggu</p>
<p>Arsitektur Cassandra<br />
Pertama yang pasti orang tanyakan ialah, mengapa Cassandra?<br />
Mysql membuat terlalu banyak random I/O<br />
Solusi berbasis File membutuhkan terlalu banyak Lock<br />
Sedangkan Cassandra menwarkan bentuk baru dari data itu sendiri yaitu:<br />
Scale Out, bukan Scale Up<br />
Online Load Balancing/Cluster Growth<br />
Skema Flexible(schemaless)<br />
Key Oriented Queri<br />
CAP-Aware</p>
<p>Teorema CAP<br />
Teorema CAP (Brewer) menyatakan bahwa kita bisa mengambil dua dari Consistency, Availability,Partition tolerance. Kita tidak bisa mempunyai ketiganya disaat yang sama. Cassandra mengambil Availability dan Partitioning tolerance (AP). Dalam cassandra, kita bisa mendapat Consistency kuat (dengan penambahan latency), tapi kita tidak dapat melakukan locking terhadap row.<br />
Kelebihan Cassandra<br />
High Availability<br />
Incremental Scalability<br />
Eventually Consistency<br />
Tunable tradeoffs between consistency and latency<br />
Minimal Administration<br />
No SPF(Single Point of Failure)</p>
<p>Cassandra vs MySQL with 50GB of data<br />
MySQL<br />
Cassandra<br />
~300ms write<br />
~0.12ms write<br />
~350ms read<br />
~15ms read </p>
<p>Credit to :</p>
<p>http://arin.me/blog/?s=wtf</p>
<p>Cassandra Wiki</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=39&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/08/05/cassandra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Distribute Cache With Ehcache and Terracotta</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/06/16/distribute-cache-with-ehcache-and-terracotta/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/06/16/distribute-cache-with-ehcache-and-terracotta/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:48:44 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=55</guid>
		<description><![CDATA[pada pembahasan sebelumnya, kita membahas bagaimana melakukan caching dengan mengistegrasikan Terracotta dengan Ehcache. Saat riset lalu, saya mendapat kesulitan tentang terracotta integration module, karena harus menggunakan tim-get.sh untuk melakukan install online. Namun karena keterbatasan atas fasilitas internet, akan sangat menjadi sulit, dan setelah bertanya pada forum, didapatkan hasil, bisa cek di http://forums.terracotta.org/forums/posts/list/3667.page#20160. So, sekarang kita [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=55&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --><span style="font-size:small;">pada pembahasan sebelumnya, kita membahas bagaimana melakukan caching dengan mengistegrasikan Terracotta dengan Ehcache. Saat riset lalu, saya mendapat kesulitan tentang terracotta integration module, karena harus menggunakan tim-get.sh untuk melakukan install online. Namun karena keterbatasan atas fasilitas internet, akan sangat menjadi sulit, dan setelah bertanya pada forum, didapatkan hasil, bisa cek di http://forums.terracotta.org/forums/posts/list/3667.page#20160.</span></p>
<p><span style="font-size:small;">So, sekarang kita bisa langsung menggunakan tim-&lt;module&gt;.jar sesuai keinginan kita dengan mendownload secara manual lewat:</span></p>
<p><span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://www.terracotta.org/download/reflector/maven2/org/terracotta/modules/"><span style="font-size:small;">http://www.terracotta.org/download/reflector/maven2/org/terracotta/modules/</span></a></span></span><span style="font-size:small;">&lt;nama module&gt;/&lt;versi&gt;/&lt;nama module-versi&gt;.jar</span></p>
<p><span style="font-size:small;">karena ini merupakan cara yang tidak wajar maka memiliki kelemahan, yaitu pada install folder terracotta, kita harus membuat folder dengan nama &lt;module&gt; dan didalam folder tersebut buat kembali folder dengan nama &lt;version&gt;, baru letakkan tim-&lt;module&gt;.jar kedalam folder tersebut.</span></p>
<p><span style="font-size:small;">Setelah masalah satu selesai, maka akan muncul masalah selanjutnya, yaitu bagaimana gara module tersebut bisa terbaca oleh terracotta pada tc-config.xml? Maka kita harus menambahkan &lt;repository&gt;{path menuju module.jar}&lt;/repository&gt; diatas nama module karena jika menggunakan eclipse module repository justru ke eclipse installation folder. Jadi repository harus ada.</span></p>
<p><span style="font-size:small;">Untuk selanjutnya, contohnya ialah sebagai berikut:</span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">modules</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-concurrent-collections/1.3.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-concurrent-collections&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.3.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-distributed-cache/1.3.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-distributed-cache&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.3.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">ehcache</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-1.7/1.5.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-ehcache-1.7&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.5.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">modules</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p>…</p>
<p><span style="font-size:small;">jadi susunan cara penamaan harus mengikuti aturan seperti diatas. Terdapat banyak module dikarenakan module satu membutuhkan dependensi terhadap module lainnya. Perlu diingat juga, jika menggunakan terracotta 3.2.0, maka ehcache yang compatible ialah sekitar Ehcache-1.7, dan tim-ehcache -nya juga harus compatible, terracotta sangat sensitif terhadap hal ini. Jadi akan kita bahas setelah masuk kebadan program.</span></p>
<p><span style="font-size:small;">Seperti biasa, buat kelas seperti dibawah ini:</span></p>
<p><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>package</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> org.terracotta.sample;</span></span></span></p>
<p><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>import</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> net.sf.ehcache.Cache;</span></span></span></p>
<p><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>import</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> net.sf.ehcache.CacheManager;</span></span></span></p>
<p><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>import</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> net.sf.ehcache.Element;</span></span></span></p>
<p><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>public</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>class</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> UserEhcacheExample {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>private</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> CacheManager </span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;">manager</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> = </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>new</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> CacheManager();</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>public</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> String findUser(Integer id) {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">String user = cacheGet(id);</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>if</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> (user == </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>null</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">) {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">user = fetch(id);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">cachePut(id, user);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">System.</span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>out</em></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">.println(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;\t- MISS&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">} </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>else</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">System.</span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>out</em></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">.println(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;\t- HIT&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> user;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>private</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> String cacheGet(Integer id) {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">Cache userCache = </span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;">manager</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">.getCache(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;sampleTerracottaCache&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">Element element = userCache.get(id);</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>if</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> (element != </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>null</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">) {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> (String) element.getObjectValue();</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">} </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>else</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>null</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>private</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>void</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> cachePut(Integer id, String user) {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">Cache userCache = </span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;">manager</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">.getCache(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;sampleTerracottaCache&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">userCache.put(</span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>new</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> Element(id, fetch(id)));</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>private</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> String fetch(Integer id) {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>switch</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> (id.intValue()) {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>case</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> 0: </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Ari Zilka&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>case</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> 1: </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Alex Miller&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>case</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> 2: </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Geert Bevin&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>case</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> 3: </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Taylor Gautier&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>case</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> 4: </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>return</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Jonas Boner&#8221;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>default</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">:</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>throw</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>new</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> RuntimeException(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Unknown id: &#8220;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> + id.intValue());</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>public</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>static</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>void</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> main(String arg[]) </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>throws</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> InterruptedException {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">UserEhcacheExample userCache = </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>new</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> UserEhcacheExample();</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>for</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> (</span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>int</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> i = 0; i &lt; 10; i++) {</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>helpFind</em></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">(i % 5, userCache);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>public</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>static</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>void</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> helpFind(</span></span></span><span style="color:#7f0055;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><strong>int</strong></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> id, UserEhcacheExample userCache) {</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">System.</span></span></span><span style="color:#0000c0;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>out</em></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">.print(</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&#8220;Find &#8220;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> + id);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">userCache.findUser(id);</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">}</span></span></span></p>
<p><span style="font-size:small;">pada method cacheGet(), terlihat kita mengambil definisi cache dengan nama sampleTerracottaCache, yang sudah didefinisikan pada ehcache.xml, yaitu definisi cache dan tempat yang dipesan pada memorui dimana kita menyimpan cache.</span></p>
<p><span style="font-size:small;">Integrasi antara Ehcache dan Terracotta pada komputer rumah saya memiliki keanehan, yaitu jika menggunakan eclipse, dalam melakukan running terhadap aplikasi DSO kita, kita tidak bisa langsung melakukan “run as Terracotta DSO application”, maka akan terjadi error seperti dibawah ini:</span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-28 20:21:51,902 INFO &#8211; Terracotta 3.2.0, as of 20100107-140117 (Revision 14244 by cruise@su10mo5 from 3.2)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-28 20:21:52,928 INFO &#8211; Configuration loaded from the file at &#8216;/home/kuuga/Ehcache/DistributeCachingTuts/tc-config.xml&#8217;.</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-28 20:21:53,403 INFO &#8211; Log file: &#8216;/home/kuuga/Ehcache/DistributeCachingTuts/terracotta/client-logs/terracotta-client.log&#8217;.</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-28 20:21:57,200 INFO &#8211; Connection successfully established to server at 127.0.1.1:9510</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">Exception in thread &#8220;main&#8221; </span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">net.sf.ehcache.CacheException</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">: Unable to load class net.sf.ehcache.terracotta.StandaloneTerracottaStoreFactory. Initial cause was The Terracotta dso-boot.jar is specified via -Xbootclasspath. This is not a correct configuration, please remove it</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">ClassLoaderUtil.java:109</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.TerracottaStoreHelper.newStoreFactory(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">TerracottaStoreHelper.java:101</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.CacheManager.init(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">CacheManager.java:284</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.CacheManager.&lt;init&gt;(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">CacheManager.java:260</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at org.terracotta.sample.UserEhcacheExample.&lt;init&gt;(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">UserEhcacheExample.java:6</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at org.terracotta.sample.UserEhcacheExample.main(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">UserEhcacheExample.java:43</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">Caused by: </span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">net.sf.ehcache.CacheException</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">: The Terracotta dso-boot.jar is specified via -Xbootclasspath. This is not a correct configuration, please remove it</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.terracotta.StandaloneTerracottaStoreFactory.testForBootJar(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">StandaloneTerracottaStoreFactory.java:219</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.terracotta.StandaloneTerracottaStoreFactory.&lt;init&gt;(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">StandaloneTerracottaStoreFactory.java:47</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">Native Method</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at sun.reflect.NativeConstructorAccessorImpl.newInstance(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">NativeConstructorAccessorImpl.java:39</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">DelegatingConstructorAccessorImpl.java:27</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at java.lang.reflect.Constructor.newInstance(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">Constructor.java:513</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(</span></span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">ClassLoaderUtil.java:92</span></span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> &#8230; 5 more</span></span></span></p>
<p><span style="font-size:small;">error masih sama seperti minggu kemarin, namun setelah melakukan beberapa percobaan konfigurasi, ditemukan bahwa hal ini karena saat kita melakukan running dengan mode diatas, dso-boot-hotspot_linux_160_17.jar terdapat kekliruan dalam build, secara otomatis akan terus terjadi seperti ini dan saya masih belum bisa cara mengatasinya, namun dalam dokumentasi ehcache, kita bisa menambahkan konfigurasi Terracotta seperti pada tc-config.xml pada ehcache.xml, tentu saja hal ini bisa karena kita telah memiliki module tim-&lt;module&gt;.jar, dan konfigurasi ehcache dan terracotta akan seperti dibwah ini:</span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;?</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">xml</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">encoding</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;UTF-8&#8243;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">?&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">ehcache</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">xmlns:xsi</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">xsi:noNamespaceSchemaLocation</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;ehcache.xsd&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">updateCheck</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;true&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">monitoring</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;autodetect&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">diskStore</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">path</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;java.io.tmpdir&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">cacheManagerEventListenerFactory</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">class</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">properties</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">terracottaConfig</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">tc-config</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">servers</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">server</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">host</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;%i&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;localhost&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">dso-port</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">9510</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">dso-port</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">jmx-port</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">9520</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">jmx-port</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">data</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/server-data</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">data</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/server-logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">statistics</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/cluster-statistics</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">statistics</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">server</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">update-check</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">enabled</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">true</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">enabled</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">update-check</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">servers</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">system</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">configuration-model</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">development</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">configuration-model</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">system</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">clients</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">modules</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-concurrent-collections/1.3.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-concurrent-collections&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.3.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-distributed-cache/1.3.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-distributed-cache&#8221;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.3.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">usr</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/local/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-3.2.0/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">org</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/modules/</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">tim</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">ehcache</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">-1.7/1.5.0</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">repository</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">module</span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;tim-ehcache-1.7&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">version</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1.5.0&#8243;</em></span></span></span><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">modules</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,Times New Roman,serif;"><span style="font-size:small;">seperti contoh diatas, nama module harus sesuai, dan harus diperhatikan repository sesuai dengan path dari module untuk menghindari kesalahan. Karena menggunakan Terracotta 3.2.0, maka ehcache yang mendukung ialah 1.7 dan dpendensinya juga harus yang mendukung. Untuk bsa mengetahui dependensi karena manual, mau tidak mau harus mencoba satu persatu pada modul, maksudnya ialah karena yang digunakan ialah ehcache, maka masukkan tim-ehcache, kemudian run, jika aplikasi benar dan config benar, error yang dicapai biasanya hanya karena dependensi yang belum terpenuhi, dari situlah kita bisa melakukan download lagi module tim-nya.</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="text-decoration:underline;">terracotta</span></span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/client-logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">logs</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">clients</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">application</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">dso</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">instrumented-classes</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">include</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">class-expression</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> org.terracotta.sample.UserEhcacheExample</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">class-expression</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">include</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> <span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">instrumented-classes</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">dso</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">application</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">tc-config</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">terracottaConfig</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,Times New Roman,serif;"><span style="font-size:small;">kemudian pada instrumented clas pada blok class expression, class yang digunakan ialah class yang ingin dishare objeknya antar jvm, pada contoh yang tidak trivial, class pada blok ini biasanya class yang bersifat akan menjadi data yang akan dishare. Root tidak perlu didefinisikan jika datanya ada pada cache, karena kita menggunakan tim, maka tim akan secara otomatis menginisialisaikannya, nanti akan terlihat pada terracotta developer console. Disi blok konfigurasi terracotta berakhir</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">defaultCache</span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">maxElementsInMemory</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;10000&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">eternal</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">timeToIdleSeconds</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">timeToLiveSeconds</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">overflowToDisk</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;true&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">diskSpoolBufferSizeMB</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;30&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">maxElementsOnDisk</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;10000000&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">diskPersistent</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">diskExpiryThreadIntervalSeconds</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">memoryStoreEvictionPolicy</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;LRU&#8221;</em></span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">cache</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> </span></span></span><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">name</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;sampleTerracottaCache&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">maxElementsInMemory</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1000&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">eternal</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">timeToIdleSeconds</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;3600&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">timeToLiveSeconds</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;1800&#8243;</em></span></span></span></p>
<p><span style="color:#7f007f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">overflowToDisk</span></span></span><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">=</span></span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><span style="font-size:x-small;"><em>&#8220;false&#8221;</em></span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">terracotta</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">cache</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">ehcache</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&gt;</span></span></span></p>
<p><span style="font-size:small;">untuk konfigurasi terakhir, yaitu default cache dan cache yang akan dipanggil, yang perlu diperhatikan disini ialah pada cache dengan nama sampleTerracottaCache, karena akan kita integrasikan pada terracotta, kita harus berikan tag </span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;</span></span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;"><span style="font-size:x-small;">terracotta</span></span></span><span style="color:#008080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">/&gt;</span></span></span><span style="font-size:small;"> pada cache sebelum cache configuration kita tutup. Hal ini yang banyak tidak diikutkan pada setiap contoh pada buku Terracotta, juga blog Alex Miller </span><span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://tech.puredanger.com/2008/06/17/distributed-ehcache-with-terracotta/"><span style="font-size:small;">http://tech.puredanger.com/2008/06/17/distributed-ehcache-with-terracotta/</span></a></span></span><span style="font-size:small;"> bahkan. Hal ini hanya bisa dilihat pada dokumentasi Terracotta dan kurang diperhatikan sehingga integrasi biasanya gagal(hal yang saya alami). Selanjutnya ialah running terhadap aplikasi kita, nah, saat running, yang dilakukan ialah “run as java application”, hal ini justru sukses tanpa error. Berikut hasilnya:</span></p>
<p><a href="http://pythonisnotsnake.files.wordpress.com/2010/06/1.jpg"><img class="aligncenter size-medium wp-image-56" title="1" src="http://pythonisnotsnake.files.wordpress.com/2010/06/1.jpg?w=300&#038;h=124" alt="" width="300" height="124" /></a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p><span style="font-size:small;">selanjutnya saat running kedua, hasilnya ialah sebagai berikut:</span></p>
<p><span style="font-size:small;"><a href="http://pythonisnotsnake.files.wordpress.com/2010/06/2.jpg"><img class="aligncenter size-medium wp-image-57" title="2" src="http://pythonisnotsnake.files.wordpress.com/2010/06/2.jpg?w=300&#038;h=123" alt="" width="300" height="123" /></a></span></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --></p>
<p><span style="font-size:small;">cache hit semua dengan kata lain distribute cache sederhana kita berhasil, hal ini bisa kita lihat pada terracotta developer console dibawah ini:&#8217;</span></p>
<p><span style="font-size:small;"><a href="http://pythonisnotsnake.files.wordpress.com/2010/06/3.jpg"><img class="aligncenter size-medium wp-image-58" title="3" src="http://pythonisnotsnake.files.wordpress.com/2010/06/3.jpg?w=300&#038;h=136" alt="" width="300" height="136" /></a></span></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-size:small;">terlihat root sudah secara otomatis dibuat pada ehcache dengan valuenya, terlihat adanya blockk ehcache store, ini merupakn blok integrasi ehcache dengan terracotta, dan pada developer console pada live object count, terlihat statistik terhadap objek yang dishare dan dicache masih hidup dalam memori.</span></p>
<p><a href="http://pythonisnotsnake.files.wordpress.com/2010/06/4.jpg"><img class="aligncenter size-medium wp-image-59" title="4" src="http://pythonisnotsnake.files.wordpress.com/2010/06/4.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --><span style="font-size:small;">Dengan kata lain, integrasi telah berhasil. Permasalahan selama ini adalah pada konfigurasi dan tim-yang didownload.</span></p>
<p><span style="font-size:small;">Maka untuk minggu depan kita bisa maju ke hibernate caching dengan terracotta.</span></p>
<p><span style="font-size:small;">Sumber:</span></p>
<p><span style="font-size:small;">http://forums.terracotta.org/forums/posts/list/3667.page#20160.</span></p>
<p><span style="color:#000080;"><span style="text-decoration:underline;"><a href="http://tech.puredanger.com/2008/06/17/distributed-ehcache-with-terracotta/"><span style="font-size:small;">http://tech.puredanger.com/2008/06/17/distributed-ehcache-with-terracotta/</span></a></span></span></p>
<p><span style="font-size:small;">definitive guide to terracotta</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=55&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/06/16/distribute-cache-with-ehcache-and-terracotta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/06/1.jpg?w=300" medium="image">
			<media:title type="html">1</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/06/2.jpg?w=300" medium="image">
			<media:title type="html">2</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/06/3.jpg?w=300" medium="image">
			<media:title type="html">3</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/06/4.jpg?w=300" medium="image">
			<media:title type="html">4</media:title>
		</media:content>
	</item>
		<item>
		<title>Python:2nd</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/06/16/python2nd/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/06/16/python2nd/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:38:14 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=53</guid>
		<description><![CDATA[pada artikel sebelumnya kita hanya membahas sedikit tentang python, sekarang kita akan membahas lebih dalam dan lebih dekat dengan bahasa ini. Python adalah bahasa pemrograman dinamis yang mendukung pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Seperti halnya bahasa pemrograman dinamis, python seringkali [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=53&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		H2 { margin-top: 0.49cm; margin-bottom: 0.49cm; page-break-after: auto } 		H2.western { font-family: "Times New Roman", serif } 		H2.cjk { font-family: "Lucida Sans Unicode" } 		H2.ctl { font-family: "Tahoma" } 		P { margin-bottom: 0.21cm } 		A:link { color: #0000ff } --><span style="color:#000000;">pada artikel sebelumnya kita hanya membahas sedikit tentang python, sekarang kita akan membahas lebih dalam dan lebih dekat dengan bahasa ini.</span></p>
<p><span style="color:#000000;"><strong>Python</strong></span><span style="color:#000000;"> adalah </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Bahasa_pemrograman"><span style="color:#000000;">bahasa pemrograman</span></a></span><span style="color:#000000;"> dinamis yang mendukung </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Pemrograman_berorientasi_obyek"><span style="color:#000000;">pemrograman berorientasi obyek</span></a></span><span style="color:#000000;">. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Sistem_operasi"><span style="color:#000000;">sistem operasi</span></a></span><span style="color:#000000;">. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip dengan </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Interpreter&amp;action=edit&amp;redlink=1"><span style="color:#000000;">interpreter</span></a></span><span style="color:#000000;"> yang teintergrasi dalam sistem operasi. Saat ini kode python dapat dijalankan pada sistem berbasis:</span></p>
<ul>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Linux"><span style="color:#000000;">Linux</span></a></span><span style="color:#000000;">/</span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Unix"><span style="color:#000000;">Unix</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Windows"><span style="color:#000000;">Windows</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Mac_OS_X"><span style="color:#000000;">Mac 	OS X</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Java_Virtual_Machine&amp;action=edit&amp;redlink=1"><span style="color:#000000;">Java 	Virtual Machine</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/OS/2"><span style="color:#000000;">OS/2</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Amiga"><span style="color:#000000;">Amiga</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Palm&amp;action=edit&amp;redlink=1"><span style="color:#000000;">Palm</span></a></span></li>
<li><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Symbian&amp;action=edit&amp;redlink=1"><span style="color:#000000;">Symbian</span></a></span><span style="color:#000000;"> (seperti pada produk-produk Nokia)</span></li>
</ul>
<p><span style="color:#000000;">Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Namun pada prinsipnya Python dapat diperoleh dan dipergunakan secara </span><span style="color:#000000;"><strong>free</strong></span><span style="color:#000000;">, bahkan untuk kepentingan komersial. Lisensi Python tidak bertentangan baik menurut definisi </span><span style="color:#0000ff;"><a href="http://www.opensource.org/docs/osd/"><span style="color:#000000;">Open Source</span></a></span><span style="color:#000000;"> maupun </span><span style="color:#0000ff;"><a href="http://www.gnu.org/copyleft/gpl.html"><span style="color:#000000;">General Public License (GPL)</span></a></span></p>
<h2><span style="color:#000000;">Sejarah</span></h2>
<p><span style="color:#000000;">Python dikembangkan oleh </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Guido_van_Rossum"><span style="color:#000000;">Guido van Rossum</span></a></span><span style="color:#000000;"> pada tahun </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/1990"><span style="color:#000000;">1990</span></a></span><span style="color:#000000;"> di CWI, Amsterdam sebagai kelanjutan dari </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Bahasa_pemrograman_ABC&amp;action=edit&amp;redlink=1"><span style="color:#000000;">bahasa pemrograman ABC</span></a></span><span style="color:#000000;">. Versi terakhir yang dikeluarkan CWI adalah 1.2.</span></p>
<p><span style="color:#000000;">Tahun 1995, Guido pindah ke </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=CNRI&amp;action=edit&amp;redlink=1"><span style="color:#000000;">CNRI</span></a></span><span style="color:#000000;"> sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=BeOpen.com&amp;action=edit&amp;redlink=1"><span style="color:#000000;">BeOpen.com</span></a></span><span style="color:#000000;"> yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.</span></p>
<p><span style="color:#000000;">Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Python_Software_Foundation&amp;action=edit&amp;redlink=1"><span style="color:#000000;">Python Software Foundation</span></a></span><span style="color:#000000;">. </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/w/index.php?title=Python_Software_Foundation&amp;action=edit&amp;redlink=1"><span style="color:#000000;">Python Software Foundation</span></a></span><span style="color:#000000;"> adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python </span><span style="color:#000000;"><em>dimiliki</em></span><span style="color:#000000;"> oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi 2.6.1 dan versi 3.0.</span></p>
<p><span style="color:#000000;">Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Monty_Python%27s_Flying_Circus"><span style="color:#000000;">Monty Python&#8217;s Flying Circus</span></a></span><span style="color:#000000;">. Oleh karena itu seringkali ungkapan-ungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python.</span></p>
<h2><span style="color:#000000;">Fitur</span></h2>
<p><span style="color:#000000;">Beberapa fitur yang dimiliki Python adalah:</span></p>
<ul>
<li><span style="color:#000000;">memiliki 	kepustakaan yang luas; dalam distribusi Python telah disediakan 	modul-modul &#8216;siap pakai&#8217; untuk berbagai keperluan.</span></li>
<li><span style="color:#000000;">memiliki 	tata bahasa yang jernih dan mudah dipelajari.</span></li>
<li><span style="color:#000000;">memiliki 	aturan </span><span style="color:#000000;"><em>layout</em></span><span style="color:#000000;"> kode sumber yang memudahkan pengecekan, pembacaan kembali dan 	penulisan ulang kode sumber.</span></li>
<li><span style="color:#000000;">berorientasi 	obyek.</span></li>
<li><span style="color:#000000;">memiliki 	sistem pengelolaan memori otomatis (garbage collection, seperti </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Java"><span style="color:#000000;">java</span></a></span><span style="color:#000000;">)</span></li>
<li><span style="color:#000000;">modular, 	mudah dikembangkan dengan menciptakan modul-modul baru; modul-modul 	tersebut dapat dibangun dengan bahasa Python maupun </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Bahasa_pemrograman_C"><span style="color:#000000;">C</span></a></span><span style="color:#000000;">/</span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/C%2B%2B"><span style="color:#000000;">C++</span></a></span><span style="color:#000000;">.</span></li>
<li><span style="color:#000000;">memiliki 	fasilitas </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Pengumpulan_sampah"><span style="color:#000000;">pengumpulan 	sampah</span></a></span><span style="color:#000000;"> otomatis, 	seperti halnya pada bahasa pemrograman </span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Java"><span style="color:#000000;">Java</span></a></span><span style="color:#000000;">, 	python memiliki fasilitas pengaturan penggunaan ingatan komputer 	sehingga para pemrogram tidak perlu melakukan pengaturan ingatan 	komputer secara langsung.</span></li>
</ul>
<p><span style="color:#000000;">Sumber:</span><span style="color:#0000ff;"><a href="http://id.wikipedia.org/wiki/Python_%28bahasa_pemrograman%29"><span style="color:#000000;">http://id.wikipedia.org/wiki/Python_(bahasa_pemrograman)</span></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=53&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/06/16/python2nd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Pengenalan UML</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/06/16/pengenalan-uml/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/06/16/pengenalan-uml/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:34:53 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=50</guid>
		<description><![CDATA[UML (Unified Modelling Language) Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=50&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-family:Times New Roman,serif;"><strong>UML (Unified Modelling Language)</strong></span></p>
<p><span style="font-family:Times New Roman,serif;">Dalam suatu proses pengembangan software, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegoisasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented adalah UML.</span></p>
<p><span style="font-family:Times New Roman,serif;"><strong>Konsep Objek</strong></span></p>
<p><span style="font-family:Times New Roman,serif;">Obyek dalam </span><span style="font-family:Times New Roman,serif;"><em>‘software analysis &amp; design’ </em></span><span style="font-family:Times New Roman,serif;">adalah sesuatu berupa konsep (</span><span style="font-family:Times New Roman,serif;"><em>concept</em></span><span style="font-family:Times New Roman,serif;">), benda (</span><span style="font-family:Times New Roman,serif;"><em>thing</em></span><span style="font-family:Times New Roman,serif;">), dan sesuatu yang membedakannya dengan lingkungannya. Secara sederhana obyek adalah mobil, manusia, </span><span style="font-family:Times New Roman,serif;"><em>alarm </em></span><span style="font-family:Times New Roman,serif;">dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel, </span><span style="font-family:Times New Roman,serif;"><em>database, event, system messages. </em></span><span style="font-family:Times New Roman,serif;">Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya.</span></p>
<p><span style="font-family:Times New Roman,serif;">Alasan mengapa saat ini pendekatan dalam pengembangan software dengan </span><span style="font-family:Times New Roman,serif;"><em>object-oriented</em></span><span style="font-family:Times New Roman,serif;">, pertama adalah </span><span style="font-family:Times New Roman,serif;"><em>scalability </em></span><span style="font-family:Times New Roman,serif;">dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua </span><span style="font-family:Times New Roman,serif;"><em>dynamic modeling</em></span><span style="font-family:Times New Roman,serif;">, adalah dapat dipakai untuk permodelan sistem dinamis dan </span><span style="font-family:Times New Roman,serif;"><em>real time</em></span><span style="font-family:Times New Roman,serif;">. </span></p>
<p><span style="font-family:Times New Roman,serif;"><strong>Teknik Dasar OOA/D </strong></span><span style="font-family:Times New Roman,serif;"><em><strong>(Object-Oriented Analysis/Design)</strong></em></span></p>
<p><span style="font-family:Times New Roman,serif;">Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst &amp; designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga) teknik/konsep dasar dalam OOA/D, yaitu pemodulan (</span><span style="font-family:Times New Roman,serif;"><em>encapsulation</em></span><span style="font-family:Times New Roman,serif;">), penurunan (</span><span style="font-family:Times New Roman,serif;"><em>inheritance) </em></span><span style="font-family:Times New Roman,serif;">dan </span><span style="font-family:Times New Roman,serif;"><em>polymorphism. </em></span></p>
<p><span style="font-family:Times New Roman,serif;"><strong>Pemodulan (</strong></span><span style="font-family:Times New Roman,serif;"><em><strong>Encapsulation</strong></em></span><span style="font-family:Times New Roman,serif;"><strong>)</strong></span></p>
<p><span style="font-family:Times New Roman,serif;">Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan </span><span style="font-family:Times New Roman,serif;"><em>menggunakan rice cooker</em></span><span style="font-family:Times New Roman,serif;">, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik </span><span style="font-family:Times New Roman,serif;"><em>rice cooker</em></span><span style="font-family:Times New Roman,serif;">, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep </span><span style="font-family:Times New Roman,serif;"><em>information hiding</em></span><span style="font-family:Times New Roman,serif;">.</span></p>
<p><span style="font-family:Times New Roman,serif;"><strong>Penurunan (</strong></span><span style="font-family:Times New Roman,serif;"><em><strong>Inheritance</strong></em></span><span style="font-family:Times New Roman,serif;"><strong>)</strong></span></p>
<p><span style="font-family:Times New Roman,serif;">Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (</span><span style="font-family:Times New Roman,serif;"><em>parent</em></span><span style="font-family:Times New Roman,serif;">). Sedangkan minibus dikatakan sebagai obyek anak (</span><span style="font-family:Times New Roman,serif;"><em>child</em></span><span style="font-family:Times New Roman,serif;">), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus. </span></p>
<p><span style="font-family:Times New Roman,serif;"><em><strong>Polymorphism</strong></em></span></p>
<p><span style="font-family:Times New Roman,serif;">Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (</span><span style="font-family:Times New Roman,serif;"><em>child</em></span><span style="font-family:Times New Roman,serif;">) melakukan metoda yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut </span><span style="font-family:Times New Roman,serif;"><em>polymorphism</em></span><span style="font-family:Times New Roman,serif;">, teknik atau konsep dasar lainnya adalah ruang lingkup / pembatasan. Artinya setiap  Obyek mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.</span></p>
<p>Sumber: pengenalan UML.pdf</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=50&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/06/16/pengenalan-uml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Cloud Computing</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/06/16/cloud-computing/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/06/16/cloud-computing/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 14:32:32 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=48</guid>
		<description><![CDATA[Cloud computing tidak lama lagi akan menjadi realita, dan ini akan memaksa para IT professional untuk cepat mengadaptasi yang dimaksud dengan teknologi ini. Akibat dari keadaan sosial ekonomi yang terus mengalami revolusi yang sangat cepat sehingga melahirkan cloud computing, dimana teknologi ini dibutuhkan untuk kecepatan dan realibilitas yang lebih dari teknology yang sebelumnya sehingga teknologi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=48&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } --><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Cloud computing tidak lama lagi akan menjadi realita, dan ini akan memaksa para IT professional untuk cepat mengadaptasi yang dimaksud dengan teknologi ini. Akibat dari keadaan sosial ekonomi yang terus mengalami revolusi yang sangat cepat sehingga melahirkan cloud computing, dimana teknologi ini dibutuhkan untuk kecepatan dan realibilitas yang lebih dari teknology yang sebelumnya sehingga teknologi ini nantinya akan mencapai pada tingkat investasi dalam term cloud service yang cepat dan mudah.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Cloud sudah hadir di depan kita saat ini, namun apa itu cloud ? kemana tujuanya ? dan apa resikonya? dan bagaimana organisasi IT mempersiapkan ini ? itulah pertanyaan yang setidaknya akan hadir oleh beberapa praktisi ataupun peminat IT, Cloud computing pada dasaranya adalah menggunakan Internet-based service untuk mensupport business process. Cloud service biasanya memiliki beberapa karakteristik, diantaranya adalah:</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Sangat cepat di deploy, sehingga cepat berarti instant untuk implementasi.</span></span></span></p>
<ul>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Nantinya 	biaya start-up teknologi ini mungkin akan sangat murah atau tidak 	ada dan juga tidak ada investasi kapital.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Biaya 	dari service dan pemakaian akan berdasarkan komitmen yang tidak fix.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Service 	ini dapat dengan mudah di upgrade atau downgrade dengan cepat tampa 	adanya Penalty.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Service 	ini akan menggunakan metode multi-tenant (Banyak customer dalam 1 	platform).</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Kemampuan 	untuk meng customize service akan menjadi terbatas.</span></span></span></li>
</ul>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Teknologi cloud akan memberikan kontrak kepada user untuk service pada 3 tingkatan:</strong></span></span></span></p>
<ul>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Infrastructure 	as Service</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">, 	hal ini meliputi Grid untuk virtualized server, storage &amp; 	network. Contohnya seperti  <a href="http://aws.amazon.com/ec2/">Amazon 	Elastic Compute Cloud</a> dan <a href="https://s3.amazonaws.com/">Simple 	Storage Service</a>.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Platform-as-a-service</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">: 	hal ini memfokuskan pada aplikasi dimana dalam hal ini memungkinkan 	developer untuk tidak memikirkan hardware dan tetap fokus pada 	application development nya tampa harus mengkhawatirkan operating 	system, infrastructure scaling, load balancing dan lainya. Contoh 	nya yang telah mengimplementasikan ini adalah F<a href="http://force.com/">orce.com</a> dan <a href="http://blogs.zdnet.com/microsoft/?p=1671">Microsoft 	Azure investment</a>.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Software-as-a-service</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">: 	Hal ini memfokuskan pada aplikasi denga Web-based interface yang 	diakses melalui Web Service dan Web 2.0. contohnya adalah <a href="http://apps.google.com/">Google 	Apps</a>, <a href="http://salesforce.com/">SalesForce.com</a> dan 	social network application seperti <a href="http://facebook.com/">FaceBook</a>.</span></span></span></li>
</ul>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Beberapa investor saat ini masih mencoba untuk mengekplorasi adopsi teknologi cloud ini untuk dijadikan bisnis sebagaimana  Amazon dan Google telah memiliki penawaran khusus pada untuk teknologi cloud, Microsoft dan IBM juga telah melakukan investasi jutaan dollar untuk ini.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Melihat dari tren ini kita dapat memprediksi masa depan, standard teknologi akan menjadi lebih sederhana karena ketersediaan dari banyak cloud service.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:large;"><strong>Lalu apa resikonya ?</strong></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Sebagaimana yang dikatakan sebagai bisnis service, dengan teknologi cloud anda sebaiknya mengetahui dan memastikan apa yang anda bayar dan apa yang anda investasikan sepenuhnya memang untuk kebutuhan anda menggunakan service ini. Anda harus memperhatikan pada beberapa bagian yaitu:</span></span></span></p>
<ul>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Service 	level</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> &#8211; Cloud provider mungkin tidak akan konsisten dengan performance 	dari application atau transaksi. Hal ini mengharuskan anda untuk 	memahami service level yang anda dapatkan mengenai transaction 	response time, data protection dan kecepatan data recovery.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Privacy </strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">- 	Karena orang lain / perusahaan lain juga melakukan hosting 	kemungkinan data anda akan keluar atau di baca oleh pemerintah U.S. 	dapat terjadi tampa sepengetahuan anda atau approve dari anda.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Compliance </strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">- 	Anda juga harus memperhatikan regulasi dari bisnis yang anda miliki, 	dalam hal ini secara teoritis cloud service provider diharapkan 	dapat menyamakan level compliance untuk penyimpanan data didalam 	cloud, namun karena service ini masih sangat muda anda diharapkan 	untuk berhati hati dalam hal penyimpanan data.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Data 	ownership</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> &#8211; Apakah data anda masih menjadi milik anda begitu data tersebut 	tersimpan didalam cloud? mungkin pertanyaan ini sedikit aneh, namun 	anda perlu mengetahui seperti hal nya yang terjadi pada Facebook 	yang mencoba untuk merubah terms of use aggrement nya yang 	mempertanyakan hal ini.</span></span></span></li>
<li><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Data 	Mobility</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> &#8211; Apakah anda dapat melakukan share data diantara cloud service? dan 	jika anda terminate cloud relationship bagaimana anda mendapatkan 	data anda kembali? Format apa yang akan digunakan ? atau dapatkah 	anda memastikan kopi dari data nya telah terhapus ?</span></span></span></li>
</ul>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Untuk sebuah service yang masih tergolong kritis untuk perusahaan anda, saran terbaik adalah menanyakan hal ini se detail detailnya dan mendapatkan semua komitmen dalam keadaan tertulis.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:large;"><strong>Apa yang dilakukan Smart Company saat ini ?</strong></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Ada banyak kesempatan pada organisasi IT khususnya untuk mensosialisasikan cloud service. Banyak organisasi yang mencoba untuk menambahkan firut ini kepada infrastruktur yang mereka miliki sebelumnya untuk mengambil keuntungan dari “</span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>cloud bursting</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">“; khususnya jika anda membutuhkan kapasitas ekstra atau ekstra aktifitas, anda dapat memanfaatkan cloud ketimbang melakukan investasi resource secara in-house.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Development/test dan beberapa aktifitas yang mirip juga menjadi tempat yang bagus untuk cloud, memungkinkan anda untuk mengurangi pengeleluaran perkapita dan biaya data center yang terus meingkat dari sisi kecepatan dan uptime.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Sedangkan perusahaan yang tidak segan segan untuk mengimplementasi teknologi cloud untuk data mereka dan menyimpan nya sebagai fasilitas mereka sendiri untuk memastikan kebijakan perusahaan tersimpan dengan baik tentunya akan lebih baik, sehingga memastikan proses komputerasisasi pada cloud sebagai sistem proses yang dibutuhkan akan lebih independen.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:large;"><strong>Apakah anda siap ?</strong></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Jika organisasi anda baru saja mengeksplorasi teknologi cloud ada beberapa cloud service yang sudah cukup mapan dan dapat di pertimbangkan misalnya sebagai e-mail service. Namun untuk masalah sekuriti, dengan mengembangkan internal infrastruktur anda menjadi model cloud akan lebih baik.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Dengan begini role IT kini ikut berperan dalam hal business model yang dibutuhkan untuk perekonomian saat ini. Bagaimana anda meningkatkan kecepatan dan uptime ? dan bagaimana anda dapat men support business operation dengan sedikit dan pengeluaran yang fix?</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Langkah awal </strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">yang harus anda lakukan adalah mempelajari sistem kontrak dari cloud service. pastikan setiap process menjadi simple, dapat berulang ulang dan menjadi nilai tambah untuk bisnis anda.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Kedua,</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"> anda harus mengidentifikasi service apa yang dapat anda manfaatkan di dalam cloud dan mana yang seharusnya bersifat internal. Hal ini sangat penting untuk anda ketahui mengenai system dan service core yang dapat dimanfaatkan oleh bisnis anda. dan sebaiknya anda mengkategorikan beberapa elemen bisnis anda berdasarkan resiko dari penggunaan cloud service.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Langkah terakhir</strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">, anda harus melakukan strategi sourcing untuk mendapatkan biaya yang sangat murah, namun memiliki scalability dan flexibility untuk kebutuhan bisnis anda. Hal ini termasuk pertimbangan akan proteksi data ownership dan mobility, compliance dan beberapa element seperti halnya kontrak IT tradisional.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Beberapa penjelasan mengenai Cloud Computing lainya:</span></span></span></p>
<ul>
<li><a href="http://www.youtube.com/watch?v=6PNuQHUiV3Q"><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">Jawaban 	dari Tim O’Reilly, Dan Farber, Matt Mullenweg, Jay Cross, Brian 	Solis, Kevin Marks, Steve Gillmor, Jeremy Tanner, mengenai cloud 	computing pada the Web 2.0 Expo.</span></span></span></a></li>
<li><a href="http://www.youtube.com/watch?v=hplXnFUlPmg"><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><em>Persentasi 	mengenai cloud computing</em></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;">. 	oleh Christopher Barnatt, pemilik dari ExplainingComputers.com</span></span></span></a></li>
</ul>
<p><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><strong>Disadur dari: </strong></span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><a href="http://www.pcworld.com/article/164933/cloud_computing.html?tk=rss_news">David Robbins, Network World </a><br />
</span></span></span><span style="color:#000000;"><span style="font-family:Times New Roman,serif;"><span style="font-size:small;"><em>Robbins adalah seorang CTO untuk IT pada perusahaan NetApp. Dia bertanggung jawab untuk mengidentifikasi dan memilih teknologi baru dan mengadopsi teknologi tersebut yang menjadu road map dan timing untuk NetApp IT delivery.</em></span></span></span></p>
<p><span style="color:#000000;">Sumber:</span> <span style="color:#000000;">http://teknoinfo.web.id/</span> <span style="color:#000000;">Teknologi Cloud Computing (sebuah pendekatan) » TeknoInfo.html</span></p>
<p><span style="color:#000000;">Oleh :raffaell</span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=48&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/06/16/cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>MongoDB: the NoSQL Databases model</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/05/09/mongodb-the-nosql-databases-model/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/05/09/mongodb-the-nosql-databases-model/#comments</comments>
		<pubDate>Sun, 09 May 2010 15:58:15 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=34</guid>
		<description><![CDATA[NoSQL model? Apa maksudnya? Dalam dunia DBMS, yang kita tahu saat ini ialah RDBMS seperti SQL Server, Oracle, MySQL, dan RDBMS lainnya. Namun bagaimana dengan NoSQL database? Bukankah SQL itu untuk memberikan apa yang kita minta dalam database? Jangan kaget dulu. Hal ini berasala dari kurangnya performa RDBMS dalam melakukan transaksi konkuren maupun transaksi dengan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=34&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->NoSQL model? Apa maksudnya?</p>
<p>Dalam dunia DBMS, yang kita tahu saat ini ialah RDBMS seperti SQL Server, Oracle, MySQL, dan RDBMS lainnya. Namun bagaimana dengan NoSQL database? Bukankah SQL itu untuk memberikan apa yang kita minta dalam database? Jangan kaget dulu.</p>
<p>Hal ini berasala dari kurangnya performa RDBMS dalam melakukan transaksi konkuren maupun transaksi dengan tingkat update atau write tinggi. Kita tentunya bisa tetap menggunakan SQL server maupun Oracle untuk bisa tetap mendukung Update tinggi. Mungkin performa untuk seratus update, dua ratus update, dua ribu update perdetik masih mungkin bisa dilakukan. Namun bagaimana jika update yang terjadi justru 200.000 update perdetik? Atau lebih? Bukankah jika kita adalah seorang pemilik perusahaan yang berharap pengunjung website kita sangat banyak akan sangat menginginkan ini? Namun bagaimana jika kita menggunakan seperti SQL Server, ataupun Oracle? Yang terjadi kemungkinan terburuk ialah database kita down. Lalu bagaimana untuk mengatasi masalah ini?</p>
<p>Tentunya vendor seperti SQL Server maupun Oracle sudah menyiapkan solusi untuk masalah seperti ini. Caranya? Clustering. Tapi anda tahu berapa biaya untuk melakukan clustering? Basic SQL Server clustering membutuhkan biaya $100.000 untuk sekedar melakukan setup dan menjalankannya, belum lagi tambahan hardware untuk mendukungnya. Tentunya akan sangat merepotkan jika hal ini terjadi bukan?</p>
<p>Disinilah muncul hal baru yaitu NoSQL database, database ini tidak menggunakan SQL untuk melakukan Queri. Belum lagi ia merupakan document oriented. Tentunya bingung?</p>
<p>Baik, sebelumnya kita lihat dulu performa NoSQL database, yakni mongoDB, jika dibandingkan dengan database dengan SQL dalam melakukan insert dan update. Berikut perbandingannya:</p>
<p><a href="http://pythonisnotsnake.files.wordpress.com/2010/05/1.jpg"><img class="aligncenter size-medium wp-image-35" title="1" src="http://pythonisnotsnake.files.wordpress.com/2010/05/1.jpg?w=300&#038;h=225" alt="" width="300" height="225" /></a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 		A:link { so-language: zxx } -->wow, tentunya terlihat sangat jelas dalam grafik diatas, mongoDB sangat baik dalam hal transaksi yang sangat banyak, dalam hal performa. Terlebih lagi, mongoDB ialah open source. Belum lagi mongoDB mempunyai fitur seperti map reduce.</p>
<p>Bagaimana? Anda tertarik untuk mempelajarinya?</p>
<p>Database yang menggunakan NoSQL tidak hanya MongoDB, tapi ada juga CouchDB. Namun dalam segi performa, mongoDB adalah yang terbaik. Website yang sudah memakainya antara lain sourceforge, shopwiki, dan lainnya silahkan Googling.</p>
<p>So, jika tertarik, silahkan download dan coba MongoDB di <a href="http://www.mongodb.com/">www.mongodb.com</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=34&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/05/09/mongodb-the-nosql-databases-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/05/1.jpg?w=300" medium="image">
			<media:title type="html">1</media:title>
		</media:content>
	</item>
		<item>
		<title>Menggunakan Ehcache dengan Terracotta</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/05/09/menggunakan-ehcache-dengan-terracotta/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/05/09/menggunakan-ehcache-dengan-terracotta/#comments</comments>
		<pubDate>Sun, 09 May 2010 15:18:58 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=32</guid>
		<description><![CDATA[Ehcache merupakan componen untuk caching yang bisa digunakan untuk berbagai componen lain, namun dengan menggunakan Terracotta, akan terjadi boost performance karena Ehcache milik Terracotta sehingga integrasinya sangat baik. Dalam melakukan Caching menggunakan Terracotta, kita bisa menggunakan project yang sudah terkandung Ehcache, seperti project diatas, dan klik kanan pada project, kemudian pilih terracotta dan add terracotta [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=32&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="font-size:small;">Ehcache merupakan componen untuk caching yang bisa digunakan untuk berbagai componen lain, namun dengan menggunakan Terracotta, akan terjadi boost performance karena Ehcache milik Terracotta sehingga integrasinya sangat baik.</span></p>
<p><span style="font-size:small;">Dalam melakukan Caching menggunakan Terracotta, kita bisa menggunakan project yang sudah terkandung Ehcache, seperti project diatas, dan klik kanan pada project, kemudian pilih terracotta dan add terracotta to nature, maka semua komponen dan konfigurasi file ditambahkan ke project kita tadi. Yang kita perlu lihat saat ini ialah tc-config.xml, yaitu konfigurasi terracotta:</span></p>
<p><span style="color:#808080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;tc:tc-config</span><span style="color:#000000;"> </span><span style="color:#000080;">xsi:schemaLocation=</span><span style="color:#008000;">&#8220;http://www.terracotta.org/schema/terracotta-5.xsd&#8221;</span><span style="color:#000000;"> </span><span style="color:#000080;">xmlns:tc=</span><span style="color:#008000;">&#8220;http://www.terracotta.org/config&#8221;</span><span style="color:#000000;"> </span><span style="color:#000080;">xmlns:xsi=</span><span style="color:#008000;">&#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;</span><span style="color:#000080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;servers&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;server</span><span style="color:#000000;"> </span><span style="color:#000080;">host=</span><span style="color:#008000;">&#8220;%i&#8221;</span><span style="color:#000000;"> </span><span style="color:#000080;">name=</span><span style="color:#008000;">&#8220;book.ehcache-hostname&#8221;</span><span style="color:#000080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;data&gt;</span><span style="color:#000000;">terracotta/server-data</span><span style="color:#000080;">&lt;/data&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;logs&gt;</span><span style="color:#000000;">terracotta/server-logs</span><span style="color:#000080;">&lt;/logs&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;statistics&gt;</span><span style="color:#000000;">terracotta/cluster-statistics</span><span style="color:#000080;">&lt;/statistics&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;dso&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;client-reconnect-window&gt;</span><span style="color:#000000;">123</span><span style="color:#000080;">&lt;/client-reconnect-window&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/dso&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/server&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;update-check&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;enabled&gt;</span><span style="color:#000000;">true</span><span style="color:#000080;">&lt;/enabled&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/update-check&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/servers&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;clients&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">merupakan tambahan yaitu file log jika kita melakukan run file lognya akanj ditempatkan diproject kita sendiri </span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;logs&gt;</span><span style="color:#000000;">%(user.home)/terracotta/client-logs/book.ehcache/%D</span><span style="color:#000080;">&lt;/logs&gt;</span></span></span></p>
<p><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/clients&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;system&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;configuration-model&gt;</span><span style="color:#000000;">development</span><span style="color:#000080;">&lt;/configuration-model&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/system&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;application&gt;</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">untuk konfigurasi dso, seperti biasa instrumented class ialah class yang akan instrumensai keTerracotta Server. Masih sama dengan hasil report kemarin</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;dso&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;instrumented-classes&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;include&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;class-expression&gt;</span><span style="color:#000000;">org.terracotta.book.caching.ehcache.UserEhcacheExample</span><span style="color:#000080;">&lt;/class-expression&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/include&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;include&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;class-expression&gt;</span><span style="color:#000000;">org.terracotta.book.caching.ehcache..*</span><span style="color:#000080;">&lt;/class-expression&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/include&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/instrumented-classes&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/dso&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#000080;">&lt;/application&gt;</span></span></span></p>
<p><span style="color:#000080;"><span style="font-family:Monospace;"><span style="font-size:x-small;">&lt;/tc:tc-config&gt;</span></span></span></p>
<p><span style="font-family:Liberation Serif,serif;"><span style="font-size:x-small;"><span style="color:#000000;"><span style="font-size:small;">selanjutnya, kita cukup melkukan sedikit perubahan pada file konfigurasi ehcache.xml dengan menambahkan element &lt;terracotta/&gt; pada cache, dan </span></span><span style="color:#008080;"><span style="font-family:Monospace;">&lt;</span></span><span style="color:#3f7f7f;"><span style="font-family:Monospace;">terracottaConfig</span></span><span style="color:#000000;"><span style="font-family:Monospace;"> </span></span><span style="color:#7f007f;"><span style="font-family:Monospace;">url</span></span><span style="color:#000000;"><span style="font-family:Monospace;">=</span></span><span style="color:#2a00ff;"><span style="font-family:Monospace;"><em>&#8220;localhost:9510&#8243;</em></span></span><span style="color:#008080;"><span style="font-family:Monospace;">/&gt;</span></span><span style="color:#000000;"><span style="font-size:small;"> diluar tag cache sebagai pertanda bahwa Ehcache akan diintegrasi dengan terracotta dan dicluster.</span></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">Berikut konfigurasi lengkapnya:</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;?</span><span style="color:#3f7f7f;">xml</span><span style="color:#000000;"> </span><span style="color:#7f007f;">version</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;1.0&#8243;</em></span><span style="color:#000000;"> </span><span style="color:#7f007f;">encoding</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;UTF-8&#8243;</em></span><span style="color:#008080;">?&gt;</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">ehcache</span> <span style="color:#7f007f;">name</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;userCache&#8221;</em></span> <span style="color:#7f007f;">xmlns:xsi</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">xsi:noNamespaceSchemaLocation</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;ehcache.xsd&#8221;</em></span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;"><span style="text-decoration:underline;">cache</span></span> <span style="color:#7f007f;">name</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;userCache&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsInMemory</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">memoryStoreEvictionPolicy</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;LFU&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">eternal</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToIdleSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;300&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToLiveSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;600&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">overflowToDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskExpiryThreadIntervalSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">terracotta</span><span style="color:#008080;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;/</span><span style="color:#3f7f7f;">cache</span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">terracottaConfig</span> <span style="color:#7f007f;">url</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;localhost:9510&#8243;</em></span><span style="color:#008080;">/&gt;</span><span style="color:#000000;"> </span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">defaultCache</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsInMemory</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">memoryStoreEvictionPolicy</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;LRU&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">eternal</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToIdleSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToLiveSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">overflowToDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;true&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskSpoolBufferSizeMB</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;30&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsOnDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskPersistent</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskExpiryThreadIntervalSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;/</span><span style="color:#3f7f7f;">defaultCache</span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;/</span><span style="color:#3f7f7f;">ehcache</span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">saat dirunnig, hasilnya adalah sbb:</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-07 21:16:59,222 INFO &#8211; Terracotta 3.2.0, as of 20100107-140117 (Revision 14244 by cruise@su10mo5 from 3.2)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-07 21:16:59,940 INFO &#8211; Configuration loaded from the file at &#8216;/home/kuuga/Ehcache/TerracottaEhcache/tc-config.xml&#8217;.</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-07 21:17:00,285 INFO &#8211; Log file: &#8216;/root/terracotta/client-logs/book.ehcache/20100507211700265/terracotta-client.log&#8217;.</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;">2010-05-07 21:17:03,599 INFO &#8211; Connection successfully established to server at 127.0.1.1:9510</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;">Exception in thread &#8220;main&#8221; </span><span style="color:#000080;"><span style="text-decoration:underline;">net.sf.ehcache.CacheException</span></span><span style="color:#ff0000;">: Unable to load class net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory. Initial cause was The Terracotta dso-boot.jar is specified via -Xbootclasspath. This is not a correct configuration, please remove it</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(</span><span style="color:#000080;"><span style="text-decoration:underline;">ClassLoaderUtil.java:109</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.TerracottaClusteredInstanceHelper.newClusteredInstanceFactory(</span><span style="color:#000080;"><span style="text-decoration:underline;">TerracottaClusteredInstanceHelper.java:103</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.CacheManager.init(</span><span style="color:#000080;"><span style="text-decoration:underline;">CacheManager.java:303</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.CacheManager.&lt;init&gt;(</span><span style="color:#000080;"><span style="text-decoration:underline;">CacheManager.java:276</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at org.terracotta.book.caching.ehcache.UserEhcacheExample.&lt;init&gt;(</span><span style="color:#000080;"><span style="text-decoration:underline;">UserEhcacheExample.java:7</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at org.terracotta.book.caching.ehcache.UserEhcacheExample.main(</span><span style="color:#000080;"><span style="text-decoration:underline;">UserEhcacheExample.java:44</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;">Caused by: </span><span style="color:#000080;"><span style="text-decoration:underline;">net.sf.ehcache.CacheException</span></span><span style="color:#ff0000;">: The Terracotta dso-boot.jar is specified via -Xbootclasspath. This is not a correct configuration, please remove it</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory.testForBootJar(</span><span style="color:#000080;"><span style="text-decoration:underline;">StandaloneTerracottaClusteredInstanceFactory.java:242</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory.&lt;init&gt;(</span><span style="color:#000080;"><span style="text-decoration:underline;">StandaloneTerracottaClusteredInstanceFactory.java:45</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(</span><span style="color:#000080;"><span style="text-decoration:underline;">Native Method</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at sun.reflect.NativeConstructorAccessorImpl.newInstance(</span><span style="color:#000080;"><span style="text-decoration:underline;">NativeConstructorAccessorImpl.java:39</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(</span><span style="color:#000080;"><span style="text-decoration:underline;">DelegatingConstructorAccessorImpl.java:27</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at java.lang.reflect.Constructor.newInstance(</span><span style="color:#000080;"><span style="text-decoration:underline;">Constructor.java:513</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#ff0000;"> at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(</span><span style="color:#000080;"><span style="text-decoration:underline;">ClassLoaderUtil.java:92</span></span><span style="color:#ff0000;">)</span></span></span></p>
<p><span style="color:#ff0000;"><span style="font-family:Monospace;"><span style="font-size:x-small;"> &#8230; 5 more</span></span></span></p>
<p><span style="font-family:Liberation Serif,serif;"><span style="font-size:x-small;"><span style="color:#000000;"><span style="font-size:small;">saya mengalami masalah dimana pada error </span></span><span style="color:#ff0000;"><span style="font-family:Monospace;">Exception in thread &#8220;main&#8221; </span></span><span style="color:#000080;"><span style="font-family:Monospace;"><span style="text-decoration:underline;">net.sf.ehcache.CacheException</span></span></span><span style="color:#ff0000;"><span style="font-family:Monospace;">: Unable to load class net.sf.ehcache.terracotta.StandaloneTerracottaClusteredInstanceFactory. Initial cause was The Terracotta dso-boot.jar is specified via -Xbootclasspath. This is not a correct configuration, please remove it</span></span><span style="color:#000000;"><span style="font-size:small;"> mengatakan bahwa bootjar( yang sudah otomatis ada saat add terracotta to nature) konfigurasinya salah sedangkan itu sudah menjadi jar. Minggu depan masalah saya harap sudah selesai karena akan masuk materi baru yaitu terracotta Hibernate.</span></span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">Bagi yang punya solusi harap mambantu.</span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">Sumber: </span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">The Definitive Guide to Terracotta: Cluster the JVMTM for Spring, Hibernate, and POJO Scalability </span></span></span></p>
<p><span style="color:#000000;"><span style="font-family:Liberation Serif,serif;"><span style="font-size:small;">Copyright © 2008 by Terracotta, Inc. </span></span></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=32&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/05/09/menggunakan-ehcache-dengan-terracotta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>
	</item>
		<item>
		<title>Caching dengan Ehcache</title>
		<link>http://pythonisnotsnake.wordpress.com/2010/05/09/caching-dengan-ehcache/</link>
		<comments>http://pythonisnotsnake.wordpress.com/2010/05/09/caching-dengan-ehcache/#comments</comments>
		<pubDate>Sun, 09 May 2010 15:17:01 +0000</pubDate>
		<dc:creator>pythonisnotsnake</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://pythonisnotsnake.wordpress.com/?p=28</guid>
		<description><![CDATA[Dalam riset kemarin, saya melakukan Ccahing menggunakan Standard java collection API yaitu menggunakan Map, kali ini kita akan melakukan caching menggunakan Ehcache yang juga merupakan produk dari Terracotta itu sendiri. Source yang digunakan dalam melakukan Caching sama dengan caching saat menggunakan Map, hanya saja ada beberapa penambahan karena menggunakan Ehcache. Kita langsung saja buka eclipse [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=28&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->Dalam riset kemarin, saya melakukan Ccahing menggunakan Standard java collection API yaitu menggunakan Map, kali ini kita akan melakukan caching menggunakan Ehcache yang juga merupakan produk dari Terracotta itu sendiri.</p>
<p>Source yang digunakan dalam melakukan Caching sama dengan caching saat menggunakan Map, hanya saja ada beberapa penambahan karena menggunakan Ehcache.</p>
<p>Kita langsung saja buka eclipse dan ketik source code seperti dibawah ini, namun sebekumnya jangan lupa tambahkan komponen Ehcache kedalam library dan buat folder kemudian jadikan folder tersebut sebagai source folder, isi folder tersebut dengan ehcache.xml dan ehcache.xsd sebagai file konfigurasi ehcache kita nanti, berikut class yang kita buat yaitu UserEhcacheExample:</p>
<p>package org.terracotta.book.caching.ehcache;</p>
<p>import net.sf.ehcache.Cache;</p>
<p>import net.sf.ehcache.CacheManager;</p>
<p>import net.sf.ehcache.Element;</p>
<p>public class UserEhcacheExample {</p>
<p>//deklarasikan cache manager sebagai agen cache milik Ehcache</p>
<p>private CacheManager manager = new CacheManager();</p>
<p>public String findUser(Integer id) {</p>
<p>String user = cacheGet(id);</p>
<p>if (user == null) {</p>
<p>user = fetch(id);</p>
<p>cachePut(id, user);</p>
<p>System.out.println(&#8220;\t- MISS&#8221;);</p>
<p>} else {</p>
<p>System.out.println(&#8220;\t- HIT&#8221;);</p>
<p>}</p>
<p>return user;</p>
<p>}</p>
<p>//function cacheGet dan cachePut merupakan dua function yang mengalami perombakan karena //menggunakan ehcache</p>
<p>//pertama kita buat deklarasi cache dengan nama userCache dan disina agen cache dengan nama //manager, mengambil item data cache(getCache) “userCache” dengan melihat properti pada ehcache.xml</p>
<p>private String cacheGet(Integer id) {</p>
<p>Cache userCache = manager.getCache(&#8220;userCache&#8221;);</p>
<p>Element element = userCache.get(id);</p>
<p>if (element != null) {</p>
<p>return (String) element.getObjectValue();</p>
<p>} else {</p>
<p>return null;</p>
<p>}</p>
<p>}</p>
<p>//sama seperti cacheGet, cachePut juga melihat pada ahcache.xml untuk mengambil item data cache //dengan nama userCache, hanya saja berbeda fungsi, yaitu mengambil item data cache dari memori</p>
<p>private void cachePut(Integer id, String user) {</p>
<p>Cache userCache = manager.getCache(&#8220;userCache&#8221;);</p>
<p>userCache.put(new Element(id, fetch(id)));</p>
<p>}</p>
<p>private String fetch(Integer id) {</p>
<p>switch (id.intValue()) {</p>
<p>case 0: return &#8220;Ari Zilka&#8221;;</p>
<p>case 1: return &#8220;Alex Miller&#8221;;</p>
<p>case 2: return &#8220;Geert Bevin&#8221;;</p>
<p>case 3: return &#8220;Taylor Gautier&#8221;;</p>
<p>case 4: return &#8220;Jonas Boner&#8221;;</p>
<p>default:</p>
<p>throw new RuntimeException(&#8220;Unknown id: &#8221; + id.intValue());</p>
<p>}</p>
<p>}</p>
<p>public static void main(String arg[]) throws InterruptedException {</p>
<p>UserEhcacheExample userCache = new UserEhcacheExample();</p>
<p>for (int i = 0; i &lt; 10; i++) {</p>
<p>helpFind(i % 5, userCache);</p>
<p>}</p>
<p>}</p>
<p>public static void helpFind(int id, UserEhcacheExample userCache) {</p>
<p>System.out.print(&#8220;Find &#8221; + id);</p>
<p>userCache.findUser(id);</p>
<p>}</p>
<p>}</p>
<p>dan berikut file konfigurasi ehcache.xml:</p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;?</span><span style="color:#3f7f7f;">xml</span> <span style="color:#7f007f;">version</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;1.0&#8243;</em></span> <span style="color:#7f007f;">encoding</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;UTF-8&#8243;</em></span><span style="color:#008080;">?&gt;</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">ehcache</span> <span style="color:#7f007f;">xmlns:xsi</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;http://www.w3.org/2001/XMLSchema-instance&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">xsi:noNamespaceSchemaLocation</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;ehcache.xsd&#8221;</em></span><span style="color:#008080;">&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;"><span style="text-decoration:underline;">cache</span></span> <span style="color:#7f007f;">name</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;userCache&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsInMemory</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">memoryStoreEvictionPolicy</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;LFU&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">eternal</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToIdleSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;300&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToLiveSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;600&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">overflowToDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskExpiryThreadIntervalSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">/&gt;</span></span></span></p>
<p><span style="color:#000000;"> </span><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;</span><span style="color:#3f7f7f;">defaultCache</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsInMemory</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">memoryStoreEvictionPolicy</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;LRU&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">eternal</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToIdleSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">timeToLiveSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">overflowToDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;true&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskSpoolBufferSizeMB</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;30&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">maxElementsOnDisk</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;10000000&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskPersistent</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;false&#8221;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#7f007f;">diskExpiryThreadIntervalSeconds</span><span style="color:#000000;">=</span><span style="color:#2a00ff;"><em>&#8220;120&#8243;</em></span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">/&gt;</span></span></span></p>
<p><span style="font-family:Monospace;"><span style="font-size:x-small;"><span style="color:#008080;">&lt;/</span><span style="color:#3f7f7f;">ehcache</span><span style="color:#008080;">&gt;</span></span></span></p>
<p>pada file konfigurasi ini dijelaskan bahwa kita membuat cache dengan nama userCache(yang nantinya dilihat konfigurasinya oleh UserEhcacheExample) dengan properti antara lain:</p>
<p>a. maxElementsInMemory: properti ini menhetset ukuran maksimum dari cache dalam memory</p>
<p>b. memorystoreevictionpolicy: mensetting properti ini ke LFU mengindikasikan setidaknya digunakan eviction policy saat penyimpanan memory terlalu besar.</p>
<p>c. eternal :property ini bisa diset untuk mengindikasikan elemen yang harus ada selamanya dalam cache.</p>
<p>d. timetoidleseconds: properti ini mengeset waktu maksimum sebuah item bisa ada dalam cache tanpa digunakan sebelum akhirnya cache tersebut expire</p>
<p>e. timetoliveseconds:properti ini mengeset waktu item bisa hidup dalam cache selama digunakan</p>
<p>f. overflowtodisk: properti ini menunjukkan dimana cache lebih besar dari memori maksimum yang bisa membuat overflow ke disk</p>
<p>g. diskexpirythreadintervalseconds: properti ini mengeset angka dari waktu yang mana item data akan expired dan dibersihkan dalam memori.</p>
<p>Untuk menjalankan mengunakan eclipse cukup jalankan sebagai java applikaction dan hasilnya dalah sebagai berikut:</p>
<p><a rel="attachment wp-att-29" href="http://pythonisnotsnake.wordpress.com/2010/05/09/caching-dengan-ehcache/untitled/"><img class="aligncenter size-medium wp-image-29" title="untitled" src="http://pythonisnotsnake.files.wordpress.com/2010/05/untitled.jpg?w=300&#038;h=152" alt="" width="300" height="152" /></a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->tentunya tidak terlihat perbedaan dengan melakukan caching menggunakan Map, hanya saja perbedaan terbesarnya adalah terdapatnya peraturan expiration dan eviction, jadi jika cache menjadi sangat besar, item akan segera dihapus.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pythonisnotsnake.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pythonisnotsnake.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pythonisnotsnake.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pythonisnotsnake.wordpress.com&amp;blog=12292602&amp;post=28&amp;subd=pythonisnotsnake&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://pythonisnotsnake.wordpress.com/2010/05/09/caching-dengan-ehcache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78d506f94128d1438564fd0cd7927fc3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pythonisnotsnake</media:title>
		</media:content>

		<media:content url="http://pythonisnotsnake.files.wordpress.com/2010/05/untitled.jpg?w=300" medium="image">
			<media:title type="html">untitled</media:title>
		</media:content>
	</item>
	</channel>
</rss>
