TUGAS – KAMIS 01-12-2011 MENCARI ENGINE J2SE, J2EE, J2ME KELOMPOK 07 ITB-SEAMOLEC BATCH 5 ADE SURYA ISKANDAR ESHA RAMADIANSYAH SELLY ARTATY ZEGA A. No. 1. J2SE Engine BlueCove Description BlueCove adalah Java library untuk Bluetooth (JSR-82 implementation) yang bertatapmuka dengan Mac OS X, WIDCOMM, BlueSoleil dan Microsoft Bluetooth stack pada Windows XP SP2 atau Windows Vista dan WIDCOMM dan Microsoft Bluetooth stack pada Windows Mobil. BlueCove-GPL merupakan modul tambahan GPL licensed untuk mendukung BlueCove runtime pada Linux BlueZ. Sedangkan BlueCove JSR-82 Emulator module is modul tambahan untuk BlueCove yang mensimulasikan Bluetooth stack. BlueCove dapat digunakan pada Java Standard Edition (J2SE) 1.1 stsu versi terbaru lainnya. BlueCove telah diujicoba pada JVM: Apache Harmony - Open Source Java SE 5.0M5 on Win XP 32 bit SUN Java 1.1.8 on Windows XP/X86 SUN Java 2 Platform Standard Edition 1.4.2 on Windows XP/X86 SUN Java 2 Platform Standard Edition 5.0 on Windows XP/X86 SUN Java 2 Platform Standard Edition 6.0 on Windows XP/X86 and Windows Vista SUN Sun Java Toolkit for CDC 1.0 on Windows XP/X86 (Need custom made dlls with __cdecl exports) WebSphere Everyplace Micro Environment 5.7.2, CDC 1.0/Foundation 1.0/Personal Profile 1.0 on Windows XP/X86 WebSphere Everyplace Micro Environment 6.1.1, CDC 1.0/Foundation 1.0/Personal Profile 1.0 on Windows XP and Linux/X86 WebSphere Everyplace Micro Environment 5.7.2, CLDC 1.1, MIDP 2.0 on Windows XP/X86 WebSphere Everyplace Micro Environment 6.1.1, CLDC 1.1, MIDP 2.0 on Linux/X86 Mysaifu JVM - An open-source (GPL v.2 license) Java VM on Windows Mobile 2003 Second Edition. Java for Mac OS X 10.4 and 10.5, Release 5 on PowerPC and Intel processors SUN Java 2 SE 5.0 on Linux Fedora 6 i386 BlueZ 3.7, Fedora 7 i386 BlueZ 3.9, (Also tested on Ubuntu and OpenSUSE, i386 and 64-bit) GNU libgcj 4.1.2 on Fedora 7 i386 BlueZ 3.9 SableVM on Debian 4.0r3 ARM on Linksys NSLU2 BlueCove menyediakan JSR-82 Java interface untuk Bluetooth Profiles: SDAP - Service Discovery Application Profile RFCOMM - Serial Cable Emulation Protocol L2CAP - Logical Link Control and Adaptation Protocol OBEX - Generic Object Exchange Profile (GOEP) profile on top of RFCOMM and TCP BlueCove examples BlueCove OBEX Push J2ME application . MIDlet application Mobile GMaps created by Cristian Streng will connect to GPS receiver over bluetooth. BlueCove provides an implementation of the JSR 82. Applications should use API defined in JSR-82 . You may find many examples on the internet describing the usage of JSR 82. We created short (50 lines of code each) examples for you to get started with JSR-82 application development: Remote Device Discovery Services Search OBEX Put Client OBEX Put Server Legal BlueCove is licensed under Apache License, Version 2.0 . The license allows linking and distributing commercial software with BlueCove. BlueCove BlueZ module is licensed under GNU General Public License . For various technical and legal reasons, BlueCove library is not legally referred to as an implementation of JSR-82 . In order to legally refer to a piece of software as a JSR, it must pass the JSR-82 TCK or Sun TCK . Current BlueCove JSR-82 TCK compatibility status can be found here . Mainly there are some missing APIs in native stacks to implement full TCK compatibility. 2. Webcab 3. Javolution Java API Components offering refined numerical procedures to either construct a function of one or two variables from a set of points (i.e. interpolate), or solve an equation of one variable. The interpolation procedures provided include Newton polynomials, Lagrange's formula, Burlisch-Stoer algorithm, Cubic splines (natural and free), Bicubic interpolation and procedures for find the interpolation functions coefficients. In order to solve an equation we provide the Van WijngaardenDekker-Brent algorithm, interval bisection method, secant and false position, Newton-Raphson method and Ridders' method. This suite includes the following features: 1) Interpolation Module: polynomial interpolation and extrapolation, coefficients of an interpolating polynomial, interpolation and extrapolation in two or more dimensions.2) Equation Solver Module: Interval Method, Secant Method, Brent's Algorithm, Ridders' Method, Method of Regula Falsi, Method of Regula Falsi, Newton-Raphson Method, Fail-Safe Newton-Raphson Method. Javolution real-time goal: To make your application faster and more time predictable! That being accomplished through: High performance and time-deterministic (real-time) util / lang / text / io / xml base classes. Context programming in order to achieve true separation of concerns (logging, performance, etc). A testing framework addressing not only unit tests but also performance and regression tests as well. Straightforward and low-level parallel computing capabilities with ConcurrentContext. Struct and Union base classes for direct interfacing with native applications (e.g. C/C++). World's fastest and first hard real-time XML marshalling/unmarshalling facility. Simple yet flexible configuration management of your application. 10 Alasan menggunakan Javolution 1. Javolution classes are simple to use, even simpler than most JDK classes. You don't need to guess the capacity of a TextBuilder, FastTable or a FastMap, their size expand gently without ever incurring expensive resize/copy or rehash operations (unlike StringBuilder, ArrayList or HashMap). 2. Developers may achieve true separation of concerns (e.g. logging, configuration) through Context Programming or by using classes such as Configurable. 3. Javolution classes are fast, very fast (e.g. Text insertion/deletion in O[Log(n)] instead of O[n] for standard StringBuffer/StringBuilder). 4. All Javolution classes are hard real-time compliant and have highly deterministic behavior (in the microsecond range). Furthermore (unlike the standard library), Javolution is RTSJ safe (no memory clash or memory leak when used with Java Real-Time extension). 5. Javolution makes it easy for concurrent algorithms to take advantage of multi-processors systems. 6. Javolution's real-time collection classes (map, list, table and set) can be used in place of most standard collection classes and provide numerous additional capabilities. 7. Any Java class can be serialized/deserialized in XML format in any form you may want, also no need to implement Serializable or for the platform to support serialization 8. Javolution provides Struct and Union classes for direct interoperability with C/C++ applications. 9. Javolution runs on most platforms from the simplest J2ME CLDC 1.1 to the latest J2EE 5.0 with parameterized types. 10. Javolution is a pure Java Solution (no native code), small (less than 300 KBytes jar file) and free; permission to use, copy, modify, and distribute this software is freely granted, provided that copyright notices are preserved (BSD License). Tools: Runtime Environment: Any (J2ME CLDC, J2SE, J2EE, GCJ, Excelsior JET) Compilers: All (including GNU Compiler for Java) Build tool: Apache Ant Collaborative Tool: java.net (code development, comments, issues, bug reporting). Style Guide: Coding Standard Addendum. Preferred Environment: Eclipse (UTF-8 Encoding) and NetBeans Plug-In: JavoClipse (v1.0.48) - Eclipse plug-in to generate xml formats from source code. (questions/comments can be sent directly to the javoclipse mailing list) Others: Colapi - Maven Plugin to format/colorize Java code in API documentation. 4. Jsch JSch - Java Secure Channel JSch is a pure Java implementation of SSH2. JSch allows you to connect to an sshd server and use port forwarding, X11 forwarding, file transfer, etc., and you can integrate its functionality into your own Java programs. JSch is licensed under BSD style license. Why JSch? Originally, our motivation to develop this stuff is to allow users of our pure java X servers, WiredX, to enjoy secure X sessions. So, our efforts had mostly targeted to implement the SSH2 protocol for X11 forwarding. Of course, however, we are now also interested in adding other functionality like port forward, file transfer, terminal emulation, etc. SSH2 Needless to say, SSH provides support for secure remote login, secure file transfer, and secure TCP/IP and X11 forwarding. It can automatically encrypt, authenticate, and compress transmitted data. The SSH protocol is available in two incompatible varieties: SSH1 and SSH2. SSH2 was invented to avoid the patent issues regarding RSA (RSA patent has expired), and to fix some data integrity problem that SSH1 has, and for a number of other technical reasons. SSH2 protocol has been standardized on IETF Secure Shell working group and drafts related to SSH2 protocol are available on the web. In developing JSch, we are now referring to following documents: SSH Protocol Architecture SSH Transport Layer Protocol Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol SSH Connection Protocol SSH Authentication Protocol Features The current JSch has the following features. JSch is in pure Java, but it depends on JavaTM Cryptography Extension (JCE). JSch is know to work with: o J2SE 1.4.0 or later (no additional libraries required). o J2SE 1.3 and Sun's JCE reference implementation that can be obtained at http://java.sun.com/products/jce/. o J2SE 1.2.2 and later and Bouncycastle's JCE implementation that can be obtained at http://www.bouncycastle.org/. SSH2 protocol support. Key exchange: diffie-hellman-group-exchange-sha1, diffie-hellmangroup1-sha1 Cipher: blowfish-cbc,3des-cbc,aes128-cbc,aes192-cbc,aes256cbc,aes128-ctr,aes192-ctr,aes256-ctr,3desctr,arcfour,arcfour128,arcfour256 MAC: hmac-md5, hmac-sha1, hmac-md5-96, hmac-sha1-96 Host key type: ssh-dss,ssh-rsa Userauth: password Userauth: publickey(DSA,RSA) Userauth: keyboard-interactive Userauth: gss-api-with-mic X11 forwarding xauth spoofing connection through HTTP proxy. connection through SOCKS5 proxy. port forwarding. stream forwarding. signal sending. The unofficial patch for sshd of openssh will be found in this thread. envrironment variable passing. remote exec. generating DSA and RSA key pairs. changing the passphrase for a private key. partial authentication SSH File Transfer Protocol(version 0, 1, 2, 3) packet compression: zlib, zlib@openssh.com JZlib has been used. hashed known_hosts file. NONE Cipher switching. High Performace Enabled SSH/SCP supports NONE Cipher switching. Refer to ScpToNoneCipher.java. JSch is licensed under BSD style license. How To Try The downloadable archive includes the source code of JSch and some examples. For example, current archive includes a simple Java program, which demonstrates X11 forwarding. Please refer to '/examples/README' file. Here are examples included in the current archive. Applications using JSch We have recognized that the following applications have used JSch. 5. Java Bluetooth Ant(1.6 or later). JSch has been used for Ant's sshexec and scp tasks. Eclipse(3.0). Our Eclipse-CVSSSH2 plug-in has been included in Eclipse SDK 3.0. This plug-in will allow you to get ssh2 accesses to remote CVS repository by JSch. NetBeans 5.0(and later) Jakarta Commons VFS Maven Wagon Rational Application Devloper for WebSphere Software HP Storage Essentials JIRA Trac WikiOutputStreamPlugin Publisher’s Description of Java Bluetooth Library for JME and J2SE Java Bluetooth Library for JME and J2SE is an open source software that will let you perform Network &amp; Internet::Other tasks. It's free for both personal and commercial use, thus the perfect choice for those that want an alternative for Network &amp; Internet::Other programs. In order to download Java Bluetooth Library for JME and J2SE you just have to click on the Free Download button above and you'll be able to save the 0 setup on your computer. The latest version was released on 2010-12-15 and is compatible with WinXP,WinVista,Win7 x64,Win7 x32. B. No. J2EE Engine Description 1. ICEpdf ICEpdf is an open source Java PDF library ideal for displaying and printing PDF documents within any Java application. The ICEpdf API is lightweight, fast, efficient and very easy to use. ICEpdf in 100% Java-based. ICEpdf is capable of rendering PDFs up to version 1.6 (Acrobat 7.0) and provides the following features: Seamless integration within Java clients, allowing complete control over the configuration, functionality, and user interface. A lightweight static and dynamic memory footprint. Easy deployment without the hassles of Java-to-native integration issues. Can act as a stand-alone PDF viewer, or can be embedded as PDF viewer component in an application. Supports document editing and saving for Link Annotation edits. Supports text selection and clipboard functions. Type 4 Function (PostScript Calculator) for greater flexibility and accuracy in color sampling. Supports non-standard image decode attributes. Supports charactor mapping. Image masking capabilities. Support for JBIG2 image compression. Render PDFs to an image file (PNG, JPEG, or GIF) in a server-side web application. Robust, efficient, mature PDF parser. Supports all PDF embedded font types (Types 0-3, OpenType, TrueType) using the Font Engine included in ICEpdf Pro1. Supports Adobe Standard Security for password-protected documents (40 and 128 bit RC4 or AES). Supports interactive link annotation actions; uri, launch and resource. ICEpdf can be used in a multitude of different ways. As a Java client (applet, thin client, Swing, Java Web Start) or deployed on a server in headless mode as a PDF servlet (JSP or JSF). Use ICEfaces in any of the following ways: Java PDF Client ICEpdf can easily be integrated into any enterprise-level Java application to provide PDF viewing and navigation in a manner not possible with the Adobe Reader® application. This Java PDF Library includes an embeddable PDF viewer for easy integration within Java client applications. ICEpdf can also stand alone as an enterprise class Java PDF Viewer application. ICEpdf Java Viewer provides: Acrobat-like GUI and features: Zoom in/out, rotate, next/prev page, fit to window/width/actual size, pan. Multipage view support; continuous and side-by-side view types. Utility pane supports Outlines (bookmarks) and document search. Document Information and Permissions dialogs. Print, Print Setup. Keyboard shortcuts, mouse-wheel scrolling, drag-and-drop. PDF Content Conversion ICEpdf is the ideal technology for the conversion and extraction of PDF content. This Java PDF Library can be used to convert rendered PDF pages to images, SVG documents, and other file formats. PDF Content Extraction Use ICEpdf to extract PDF document meta-data, text, and images. PDF Link Annotations Configure ICEpdf to support interactive link annotations via a mouse. An annotation callback gives developers flexibility in which types of linkannotation actions they wish to support. 1 ICEpdf is available in two versions; ICEpdf, the open source version, and ICEpdf Pro which includes an advanced Font Engine. 2. 3. Devil Display Tag Display tag library 1.1.1 This documentation is related to the displaytag 1.1.x releases. The latest available release is 1.1.1 Displaytag 1.1 offers several enhancements over 1.0: the most notable news are support for partial lists and enhanced decorator APIs, but there is also a lot more. Be sure to read the migration guide for upgrading an existing application from displaytag 1.0. Overview The display tag library is an open source suite of custom tags that provide high-level web presentation patterns which will work in an MVC model. The library provides a significant amount of functionality while still being easy to use. What can I do with it? Actually the display tag library can just... display tables! Give it a list of objects and it will handle column display, sorting, paging, cropping, grouping, exporting, smart linking and decoration of a table in a customizable XHTML style. The tables in the sample images below were generated from lists using the <display:table> tag: 4. TinyMCE TinyMCE - Javascript WYSIWYG Editor TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. 5. Icefaces C. No. 1. J2ME Engine Diet 3D TinyMCE has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other Content Management Systems. ICEfaces is more than a Ajax JSF component library, it's an J2EE Ajax framework for developing and deploying rich enterprise applications (REAs). With ICEfaces, enterprise Java developers can easily develop rich enterprise applications in Java, not JavaScript. Description Language : English French / Francais About : The idea is to provide a FREE Open Source Real Time 3d engine for phones and mobile devices. Currently don't expect to play quake on your device, but it can display spinning logos with lightning (like old-school demo of early 1990s). Upcoming, Features are : texture mapping, Rubik's cube game Main Features : Portable to MANY devices (vs native 3D) Rendering Modes : Vertex, Wire-frame, Filled, Color, Back-face Culling, Dynamic Lightning (Fresnel), Triangle Filler, Z-Sort Requirements : It is available for different profiles more or less based on MIDP API (Mobile Internet Device Profile) : RIM's BlackBerry (.cod) Dalvik / android (.apk) MIDP2.0 (.jar + .jad) MIDP1.0+Nokia (.jar + .jad) DoJa/Imode (.jar + .jam) PalmOS4+ + Sun's JVM (converted from MIDP 1.0 .jar) ExEn (.exn) CTC (Panasonic, converted from ExEn .exn) MIDP1.0 (.jar + .jad) jvm 1.1 and more (j2se, j2ee etc, MS java is also supported) web applet (IE3+, Java Plugin) Supported device are too long to mention (today Diet3D has been tested over 30 devices, see testers) 2. Kuix Kuix is an extensible and fully customizable JavaME UI framwork that enables high end application development. Wide devices compatibility From the beginning, maximizing compatibility level has lead the development of Kuix and it results today in a wide range of supported devices. Basically, Kuix is compliant with CLDC 1.0 and MIDP 2.0. Fast and easy application development Forms and widgets are organized through an XML approach that combined with CSS file, allow the programmers to build applications even faster! 3. Apime Open source Kuix is an open source project licensed under GPL. As a strong copyleft license, it requires that all derived works to be available under the same license. Apime is a framework to offer more funcionality to mobile with Java enabled (J2ME). The core is the user interface, with basics components to make applications, and with possibility to create news adapting to what each developer requires. The manage is with a mouse pointer moved by keyboard or pen. Also it includes classes for file manage and customization (skins, internacionalization, keyboards for differents languages and mobiles) It is whole compatible with MIDP 1.0, although exists a version for MIDP 2.0 and other for Nokia, to use the fullscreen feature than MIDP 1.0 no offers. 4. J4Me For all this it allow make differents kind of applications easier and faster. J4ME is an open source library to help build J2ME applications. It solves many of J2ME's shortcomings including: Who is it for? J4ME makes development faster and produces better looking applications so it is for nearly everyone. However it does require MIDP 2.0. Probably all phones released since 2006 support this. The J4ME library has been tested on Sun's WTK, IBM's J9, BlackBerry, Motorola, Sony Ericsson, Nokia, Samsung, and other phones. One customer has built a list of supported phones, but it is incomplete (add yours today!). J4ME is like J2ME Polish, but is an open source alternative. About J4ME The name "J4ME" is a play on J2ME meaning "Java For Me". It is licensed under the very liberal Apache 2.0 License (similar to the BSD License). You are free to modify and use the code as you would like, so long as you do not build a golf application. Although not required please keep the project growing by submitting your code fixes and new functionality. J4ME was developed by Score Out. It is the foundation of our mobile application, the Score Out Caddie, a GPS yardage guide for golfers 5. jMobileCore toolkit jMobileCore library is powerful tool for creating J2ME applications. jMobileCore provides support for developing compact and rich Canvasbased GUI, fast data access, reliable communications and simplifies creation of multithreading midlet applications. jMobileCore library is written on Java2 Mobile Edition (MIDP1.0 and CLDC1.0) and using standard Sun J2ME libraries. Some classes are using J2ME manufacturer's extensions (from Nokia and Siemens) for better performance and presentation. No other libraries and/or frameworks are used. jMobileCore library is targeted to work on any phone or PDA device which supports J2ME (MIDP1.0 and CLDC1.0). Today list of supported devices includes (but not limits) phones: xx, The toolkit is designed to help J2ME developer create professionally looking midlet applications, save his/her time by reusing AWT-like components and concentration on business specifics instead. Currently existing toolkits SyncLast MIDP API and Nextel's Open Window Toolkit does not perform well: SyncLast is limited to GUI interface only and class structure is not AWTlike (require significant time for learning). Nextel OWT is "resource hungry", slow and it's development stopped at September 2001 Major features of the jMobileCore library: -based) support including "core" part (standard GUI controls: Label, TextField, TextPane, TextArea, List, Menu, SoftButton etc.) and "extensions": non-standard but useful phone-oriented graphic controls (PropertyLabel, SplashScreen, DateField, TimeField, CurrencyField, PhoneNumberField etc.) binary), records, tables, keys and indexes on the top of RMS binary(over HTTP) data transfer ocesses support: classes which allows simple conversion of user tasks (classes) to asynchronously working threads