This is my cave (guo)

Juni 3, 2009

OpenCard Framework pada smart card

Diarsipkan di bawah: Bhoso Java, Lecture notes, Projects — abas @ 2:40 am

OpenCard Frameword (OCF) adalah arsitektur open dan kumpulan API yang menyediakan interface antara aplikasi pada kartu dengan card reader. OCF mempermudah anda untuk mengembangkan aplikasi client yang dapat berkerja pada berbagai peralatan dan platform. Khusus pada developer suite V3.2 digunakan OCF untuk semua komunikasi antara aplikasi client, card reader, smartcard asli dan kartu simulasi. Sebuah bridge OCF ke PCSC digunakan untuk mengatur PCSC card reader pada OCF.

Untuk informasi lebih jauh, anda dapat mengakses OpenCard Framework pada www.opencard.org

Spesifikasi Globalplatform (GP) smart card

Diarsipkan di bawah: Bhoso Java, Projects — abas @ 2:01 am

Globalplatform (GP) adalah framework umum untuk manajemen peralatan, multi-aplikasi, dan sistem smartcard. Spesifikasi ini menyediakan mekanisme untuk mengatur dengan aman aplikasi pada smartcard. Catatan : sebelumnya GlobalPlatform dikenal dengan Open Platform. OP 2.0.1 dan GP 2.0.1 merupakan hal yang sama.

Kartu USIM R6 dan R-UIM mendukung GP 2.1.1. Keluarga GemXplore card kompatibel dengan standar GP 2.0.1

GP meliputi beberapa komponen :

  1. Sebuah kumpulan perintah untuk mengatur life cycle kartu dan aplikasinya, load, install, dan delete aplikasi pada kartu, dan mengatur keamanan kartu contohnya dengan update kunci, dan setup secure channel antara kartu dan terminal
  2. Sebuah API, terdiri dari sebuah paket java (package), org.globalplatform (atau visa.openplatform di GP 2.0.1) yang dapat digunakan oleh pengembang aplikasi untuk mengakses fitur GP, beberapa mekanisme life cycle dan secure messaging
  3. Spesifikasi dokumen, yang menerangkan detail perintah yang tersedia dan prinsip interoperability antara java card dan lingkungan GP card. Versi saat ini adalah GP 2.1.1

Untuk informasi lebih lanjut, spesifikasi GP dapat diakses dengan www.globalplatform.org

Mei 30, 2009

Gemalto developer suite lengkap tapi kok gak jalan yah?

Diarsipkan di bawah: Bhoso Java, Projects — abas @ 3:20 am

Awalnya saya menggunakan eclipse dan plugin eclipsejcde hasil browsing pake mbah Google. Sayangnya IDE yang saya gunakan masih belum bisa menjalankan simulasi jcde sesuai dengan contoh code dari manual jcde. Setelah dicari-cari masih ada satu list yang belum dicoba, menggunakan eclipse versi 3.2. Masalahnya sampe sekarang masih juga belum bisa di donlot (maklum gratisan pake fasilitas kantor). Selama mencoba donlot, saya coba cari solusi lainnya. Dengan cara yang sama saya minta bantuan mbah Google dengan kata kunci IDE untuk coding java card (saya ingin mempermudah editing sebab ribet juga kalo kudu koding pake notepad, and compile pake console). Hasilnya cukup memberikan saya semangat tinggi.

Perusahaan gemalto yang memiliki pengalaman cukup lama dibidang ini menyediakan satu paket alat untuk koding java card lengkap dengan semua kebutuhan javacard. Dan yang paling membakar semangat, tools IDE ini menyediakan simulator mulai dari java card, java mobile, sampe simulator mobile dengan fasilitas 2G dan 3G. Muantap gan!!!

—information purpose only:—

Overview

Gemalto Simulation Suite provides end-to-end Simulation of the SIM card environment:

* Card Simulators
* Mobile Simulators
* Network Simulator

The Simulation Suite is a sub product of the Developer Suite. Please refer to the Developer Suite Product Page for more information and for downloading the Free Evaluation.
Card Simulators

Triggering the Java application in debug mode (running on the card simulator) with the mobile simulator will help you to quickly test the menu navigation stepping into the applet source code.
Mobile Simulators

The Mobile Simulators simulate on your PC a SIM Toolkit session between a 2G mobile and SIM Card (a real SIM Card or a SIM Card Simulator), a USAT session between a 3G mobile and a USIM Card booted in 3G mode.
SIM Toolkit Mobile Compatibility Testing

When you deploy a SIM Toolkit application you very often have to face different behavior from one mobile to the other. Using our mobile simulator you can check whether your problem is coming from the mobile or from the application thanks to the interpreted traces.
USAT Mobile Compatibility Testing

When you deploy a USAT application you very often have to face different behavior from one mobile to the other. Using our 3G mobile simulator you can check whether your problem is coming from the mobile or from the application thanks to the interpreted traces.
Manage Change of Location and Call Control Events

The mobile simulator is also able to simulate change of location and monitor SIM Toolkit call control results. Those kind of tests are quite difficult to set up in real environment while it is performed with a single click thanks to GemXplore SIMulation.
Test the SIM Toolkit Application Menu Navigation

Triggering the Java application in debug mode (running on the card simulator) with the mobile simulator will help you to quickly test the menu navigation stepping into the applet source code.
Server Simulators

The OTA server simulator is either an OTA message generator or an OTA message automatic answer provider.
Set up & Test Remote File Management Services

A new OTA scripting language (based on pseudo Java) has been implemented on the new version of the OTA server simulator. This way, you can develop & test more advanced services.
The OTA parameters editor will ease the configuration of the remote file management messages security such that you will not have to be a 23.048 expert to check whether the security are correctly set on the card or not.
Provide an automatic answer to an applet outgoing SMS

The OTA server simulator agents are able to provide a pre-defined automatic answer to an incoming SMS (generated by the applet with a Send SMS pro-active command) such that you are able, developing on your PC, to monitor whether the applet correctly formats the SMS or not. You’ll also be able to check whether the applet correctly processes the network answer or not stepping into the source code

—cukup sampe disini iklannya—

Didalamnya sudah terinstal teknologi yang berkaitan dengan java card :j2SE, J2ME, SATSA, dan JCDE. Semuanya dibundle dalam satu tools development suite. Sayangnya setelah lama saya donlot dan install, ketika dijalankan tools ini stuck. Alias mandeg, gak jalan. Belum tau pastinya kenapa masalah ini muncul. Asumsi pertama, hasil donlot paket installer yang saya dapat rusak, trus ada file yang corrupt. [padahal klo bisa diinstall seharusnya berjalan dengan lancar, kecuali ada data konfigurasi yang corrupt atau apalah yang jelas saya nggak mudeng]. Selanjutnya donlot ulang paket installer barusan. Masih dengan cara yang sama, hasilnya juga sama. Stuck seperti hang!!!

Setelah membaca beberapa manual, ternyata development suite ini memerlukan registrasi untuk mendapatkan versi full-nya. Masalahnya, disebutkan kalo kita tidak meregister sebelumnya kita bisa memanfaatkan evaluationnya. Seharusnya tidak ada masalah dengan IDE ini. Karena gak punya modal lebih untuk register full version, jelaslah usaha unlock full version batal. Tetapi usaha masih terus dilakukan dengan kembali pada cara sebelumnya, menggunakan eclipsjcde plugin. Namun, sampai saat tulisan ini ditulis masih belum selesai donlot eclipse 3.2. But, code must go on.

Mungkin pa bila ada dari sodara2 yang dapat masalah yang sama kemudian menemukan solusinya, mohon sharing info-nya. Sebelumnya terimakasih.

–abas–

:D

Mei 6, 2009

Membuat kuesioner Requirement Engineering sebelum buat software spesification

Diarsipkan di bawah: Bhoso Java, Lecture notes, Projects — abas @ 4:00 am

Project saya paling baru berkaitan dengan re-engineering software opensource. Ada dua software opensource yang akan di modifikasi kali ini, tapi sebelum lebih jauh, kita perlu melihat kebutuhan end user software kita. Target project adalah rekan kantor yang masih dalam satu divisi.

Pertama yang perlu dilakukan adalah requirement engineering. Menurut Ian sommerville, requirement engineering terdiri dari 3 langkah. Pertama adalah elicitation, kedua software spesification, dan yang terakhir adalah validation. Nah, karena rekan kerja sekantor bisa dijadikan sebagai user, kita buat kuesioner spesifikasi kebutuhan software yang mau kita buat.

requermentenginering

Untuk mempermudah membuat kuesioner, langkah pertama yang saya lakukan adalah membuat kerangka software spesification. Dokumen yang bisa digunakan sebagai acuan membuat kerangka software spesification adalah standar IEEE-830 tentang rekomendasi penulisan spesifikasi software (anda bisa mencarinya melalui google). Nah, dari penulisan dokumen spesifikasi software tersebut, anda dapat mulai merencanakan pertanyaan-pertanyaan untuk mengisi dokumen tersebut.

Buat pertanyaan-pertanyaan kuesioner yang jelas dan sesuai dengan rencana pengembangan aplikasi. Kuesioner yang telah dibuat kemudian direview kembali dalam tim (internal) sebelum diberikan pada responden. Setelah kuesioner direvisi, kuesioner perlu dicoba pada user yang dipilih random (terserah siapa saja selain anggota tim) untuk mengetahui apakah responden mengerti semua pertanyaan kuesioner. Bila terdapat pertanyaan yang tidak dimengerti, point pertanyaan perlu direvisi kembali. Setelah revisi, kuesioner dapat dibagikan pada target user.

Demikian langkah yang saya tempuh. Bila pembaca memiliki pengetahuan lain terkait dengan requirement mohon masukannya. Thanks before

abas

April 27, 2009

Error on compiling helloword using eclipsejcde

Diarsipkan di bawah: Bhoso Java, Uncategorized — abas @ 1:43 am

1

taken from POLAT file at http://rs261l33.rapidshare.com/files/130591117/2769704/errors_fotos.rar

I am newbie on this technology. After trying to compile helloworld java code, i got some error displayed on terminal. Here is the report :

Java Card 2.2.2 Class File Converter, Version 1.3
Copyright 2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.

error: sosframework.AuthorizationManager: unsupported class file format of version 50.0.

conversion completed with 11 errors and 0 warnings.

Then, i try to find the solution on internet. through google search i found tread on sun.com forum (http://forums.sun.com/thread.jspa?threadID=5315173). There POLAT have the same trouble with me. He found this message : error: wallet.Wallet: unsupported class file format of version 50.0. He use Eclipse version 3.3.2, eclipse-jcde (http://eclipse-jcde.sourceforge.net/) and jcdk 2.2.2. He can build wallet applet (). But when he use java card and select convert. He found error.

doananhtai says that eclipse 3.2 will solve the problem. and Amit_D30 think, java 1.5 works with java card 2.2.2. Iam my self use java 1.5, apache ant 1.7.1, eclipse 3.3.0 and java card 2.2.2. Several days ago i have tried to build all sample codes bundled on jcdk 2.2.2 package successfully.

Yet i am still trying to find the solutions. First i will try j2sdk 1.3 and then i will try another code to be build.

bye, i need to read more right now.

abas

Setting up eclipse java card plugin

Diarsipkan di bawah: Bhoso Java, Projects — abas @ 12:51 am

Before we begin setting up eclipse plugin, first we need to download it at sorceforge.com. Make sure you have java card development kit installed on your computer. Right now iam using eclipse-jcde-0.1.zip. After you have extract it, you’ll get these files:

  1. org.eclipsejcde.core_0.1.0.jar
  2. org.eclipsejcde.cref_0.1.0.jar
  3. org.eclipsejcde.jcbp.wizards_0.1.0.jar
  4. org.eclipsejcde.jcbp_0.1.0.jar
  5. org.eclipsejcde.jctools_0.1.0.jar
  6. org.eclipsejcde.jcwde_0.1.0.jar
  7. org.eclipsejcde.preferences_0.1.0.jar
  8. org.eclipsejcde.wizards_0.1.0.jar

Or you can extract it right in your eclipse plugin folder. Then you just need to run your eclipse by clicking or by command line. Here’ the command :

directory:\[eclipse root]\eclipse

If you need more information about installing this eclipse-jcde-0.1.zip, you can access java card information on www.eclipsejcde-sourceforge.com .

This is my eclipse sdk after updated by adding eclipsejcde plugin. Look at toolbar menus, youll find CREF, Java Card, and JCWDE menus added.

eclipse plugin jcde

(lagi…)

April 24, 2009

Pengenalan Development Kit untuk Java Card (JCDK 2.2.2)

Diarsipkan di bawah: Bhoso Java, Projects — abas @ 9:24 am

fig-1b

Sebelum membeli peralatan smart card tentu setiap pengembang akan memikirkan terlebih dahulu simulator yang bisa dipakai untuk memprogram sebuah smart card. Daripada membeli hardware smart card, terlebih dahulu akan lebih “realistis” bila pengembang memprogram dan mencoba terlebih dahulu programnya pada sebuah emulator smart card. Kemudian, dari hasil analisa simulasi program tersebut bisa dipilih mana smart card yang paling cocok untuk dibeli.

Pada awalnya saya mencoba basic card simulator sebagai simulator smart card berbasis basic card. Namun, pada smart card jenis ini, terdapat keterbatasan bahasa programingnya yang kurang leluasa dalam mengatur proses kerja program. Kemudian, setelah mencari-cari referensi simulator smart card yang memberikan keleluasaan “lebih (mudah tentunya)” saya mendapatkan java card development kit 2.2.2.

Bundle java card development kit 2.2.2 menyediakan java card virtual machine yang dapat mengemulasikan smart card pada komputer. Terdapat beberapa jenis simulasi yang bisa digunakan untuk menguji aplikasi smart card yang pada akhirnya dapat didownload pada smart card sebenarnya. Diantaranya yang paling banyak dipakai adalah cref (memiliki lebih banyak kegunaan seperti download ke java card virtual machine) dan JCWDE. JCDK 2.2.2 dapat anda download pada www.sourceforge.com atau anda dapat googling dengan kata kunci jcdk 2.2.2

Teknologi java card memiliki spesifikasi yang terbagi menjadi 3 bagian, diantaranya adalah :

  1. Java card virtual machine
  2. Java card runtime environment, yang mendefinisikan runtime smart card berbasis smart card
  3. Java card API, yang mendefinisikan framework core dan ekstensi paket java dan class untuk aplikasi smart card

Berikut ini adalah perbandingan teknologi Java card dengan J2ME:

(lagi…)

Testing

Diarsipkan di bawah: Bhoso Java — abas @ 2:42 am

Ketika memulai sebuah proyek pertama kali yang ditentukan adalah tujuan (goal) dari aplikasi. Tujuan atau fungsi dari aplikasi ini dalam bahasa pemprograman bisa dituangkan dalam rangkaian test. Test aplikasi menentukan hasil yang harus dicapai, dengan demikian arah pemrograman akan semakin jelas. Metode testing yang dikenal adalah sebagai berikut:

  1. Click-stream testing
  2. Unit testing (boundary, state, error, privilledge)
  3. Functional system testing
  4. Scaleability and performance testing
  5. Quality and service testing

Click-stream testing merupakan test yang paling sederhana. Hanya mencoba apakah tampilan yang dijalankan sesuai dengan harapan pembuat. Test ini tidak memberitahukan pada programmer terhadap tujuan yang harus diselesaikan. Bagi programmer yang paling tepat adalah unit testing.

Dari beberapa metode testing saya membutuhkan :

  1. Sebuah framework untuk menulis tes unit dan fungsional. test yang sama harus bisa digunakan kembali agar mampu melakukan tes scalability, performance dan regressi.
  2. mendukung pengembangan aplikasi open standar dan berbagai platform yang lain.
  3. mendukung beberapa protokol untuk dapat disesuaikan dengan kemampuan server yang mungkin dapat diperluas dengan protokol-protokol baru yang digunakan.
  4. Terdapat utility yang dapat merekam, mengubah, dan menjalankan test secara otomatis dengan mudah.
  5. Cara yang dapat mempelajari dengan mudah hasil test selama tes berjalan dan sesudah dijalankan.

Selanjutnya masih saya cari-cari lagi. Bila ada masukan tolong disampaikan thanks.

Mei 28, 2008

Belajar java dengan target SCJP (2)

Diarsipkan di bawah: Bhoso Java — abas @ 5:43 am

Ada banyak area yang bisa digeluti oleh programer java. Diantaranya adalah :

  • Multitier Web service projects using servlets, Java Server Pages, and Enterprise JavaBeans in a “server farm”
  • Applications with graphical user interfaces (GUIs) on wireless devices such as Palm Pilots and telephones
  • Applications that are part of an interconnected web of devices that spontaneously organize themselves with Jini technology
  • Applications that run on traditional desktop systems

Menurut buku Java 2™ Programmer Exam Cram™ 2 oleh Bill Brogden, Marcus Green, kandidat ideal SCJP (Sun Certified Java Programming) adalah sebagai berikut:

  • Create and run Java programs using the tools in Sun’s SDK version 1.4.
  • Understand all of the Java keywords and how they are used.
  • Create legal Java identifiers and reject illegal ones.
  • Understand the distinction between primitives and reference variables.
  • Know how to create and initialize primitive variables, strings, and arrays.
  • Know the range of values and limitations of all Java primitive variables.
  • Understand what is meant by the scope of variables.
  • Understand the conventions that govern the way the Java Virtual
  • Machine (JVM) starts and runs applications and applets.
  • Know what every Java mathematical, logical, and bitwise operator with primitives does.
  • Apply the functions in the Math class.
  • Know what every Java operator with reference variables does, especially the operators that work with strings.
  • Decide when to use the equals method and when to use the == operator.
  • Correctly use casts with primitive variables and reference variables.
    Use the primitive wrapper classes in the java.lang package and predict the consequences of the immutability of wrapper
    class objects.
  • Choose the correct access modifiers to control the visibility of classes, variables, and methods.
  • Understand the implications of declaring a class or method as abstract.
  • Understand the implications of declaring a class, method, or variable as final.
  • Understand the implications of declaring a method or variable as static.
  • Understand how to design programs using the concept of interfaces.
  • Use the interfaces specified in the java.lang and java.util packages.
    Predict when a default constructor will be created for a class.
  • Distinguish between overloading and overriding methods and write both types of code.
  • Understand the uses of all forms of nested classes.
  • Use all of Java’s program flow-control statements, including break and continue.
  • Create, throw, catch, and process exceptions and predict for which exceptions the compiler requires a specific provision.
  • Understand what happens when an exception or error is thrown at any point in a program.
  • Understand the benefits of encapsulation and inheritance in object-oriented design and design classes that demonstrate the “is a” and “has a” relationships.
  • Predict when objects can be garbage collected and understand the implications of Java’s garbage-collection mechanism.
  • Know how to create finalize methods and predict when a finalize method will run.
  • Write code that creates and starts threads using both theR unnable interface and extensions of the Thread class.
  • Use the synchronized keyword to prevent problems with multiple threads that interact with the same data.
  • Write code using the wait, notify, and notifyAll methods to coordinate threads.
  • Write code and correctly use assertions as implemented in the 1.4 SDK.
  • Control the operation of the assertion mechanism with command-line options.
  • Select the correct interface or class from the Collections API to accomplish a particular task.
  • Understand what constitutes a correct hashcode method implementation and how it affects the use of collections.

Dengan target-target diatas kita coba kuasai satu persatu. Mulai dari yang mudah. Tetapi perlu beberapa teknik berikut yang bener2 harus dilaksanakan:

  • Assessing your exam-readiness
  • Preparing based on the objectives
  • Practicing, practicing, practicing
  • Pacing yourself
  • Not panicking
  • Not jumping to conclusions
  • Guessing in an informed manner

Ukur diri anda ! Bila anda masih belum yakin, ukurlah pengetahuan anda dengan beberapa hal diatas. Bila ada yang perlu anda tambahkan, perbarui, atau bahkan perlu anda pelajari lagi. Bila semua telah terpenuhi, tes SCJP akan lebih percaya diri.

Mei 19, 2008

Belajar java dengan target SCJP

Diarsipkan di bawah: Bhoso Java — abas @ 7:52 am

naruto

Saya kadang merasa bingung ketika akan belajar bahasa pemrograman. saking bingungnya saya memilah2 apa maksud saya belajar pemrograman. Hal ini penting sekali bagi saya karena untuk memulai pekerjaan, saya harus yakin apa yang akan saya kerjakan. Dengan keyakinan itu saya harap semangat saya tidak akan luntur sampai berhasil.

Pertamakali yang saya cari ketika akan belajar pemprogramana adalah tujuan belajar bahasa pemrograman. Saya pikir kalau sudah mencari tujuan belajar bahasa pemprograman seharusnya ada dua langkah yang sudah dilakukan yaitu: apa pemrograman yang dipelajari, dan untuk siapa. Yang kedua adalah Bagaimana cara mempelajarinya. Kalau bagaimana berarti mengacu pada caranya. Cara akan berkaitan dengan dimana saya akan mendapatkannya dan kapan. Semua ini saya ambil dari 5w1h(where, when, why, whom, what dan how).

Setelah saya cari tau, saya mempunyai tujuan (why). Kalo belajar bahasa java, saya harus minimal bisa membuktikan kemampuan saya. Bukti itu bisa berupa sertifikat. Secara internasional sertifikat yang paling bergengsi di dunia java adalah SCJP. Pemprograman yang dipilih (what) jelas java, untuk (whom) saya gunakan dalam mempermudah pekerjaan.

Belajar java banyak berhasil bila ditempuh dengan praktek. Buku yang saya nilai paling cocok adalah Java 2™ Programmer Exam Cram™ 2. Buku ini langsung bertujuan untuk mendapatkan sertifikat java, sehingga saya memilihnya sebagai penuntun belajar (how). Setiap percobaan akan saya masukkan sebagai catatan di blog ini (where) sehingga kalau ada masukan dari pembaca bisa langsung ditanggapi. Setiap hari akan saya coba lalui satu persatu agar target tahun depan saya sudah mahir java tingkat dasar (when).

Begitulah kira2 yang akan saya lakukan untuk mempelajari java. Moga2 dengan doa teman2 juga, kita bisa meningkatkan kualitas SDM minimal diri kita. (kalau bisa bangsa)

best regard

ai

Blog pada WordPress.com.