울산대학교 컴퓨터 정보통신 공학부 담당 : 이 태 호 , 김 정 현 , 김 성 은 지도교수 : 이 명 준 [email protected]
김 명 호 , ( 주 ) 비트웹 기술이사 (toodull@hitel)
description
Transcript of 김 명 호 , ( 주 ) 비트웹 기술이사 (toodull@hitel)
-
, () ([email protected]) Personal Java
-
J2ME PersonalJavaPJAE APIAPI PJAE PersonalJava PJAE JavaCheck PJEE PJAE PersonalJava e-Spider
-
Micro & Mobile JavasJava2 Micro Edition (J2ME)Personal JavaEmbedded Java, JavaCard, JavaTV, ...
-
Personal Java Java Classic VM Java API API Truffle , PTimer
-
Embedded Java, ... Closed System J2ME
-
J2ME Personal Java Personal Java CDC Profile J2ME
-
J2ME Personal Java()PersonalJava ~ CDC + Personal Profile
Personal Java CDC + Personal Profile
-
PJAE Personal Java Application Environment JDK 1.1.8 API , , Java 2 Security API PJAE API , , , PJAE- API API JDK 1.1.8 API PJAE
-
PJAE Java 2 API
JDK 1.1.8 API
Security API
PJAE- API
-
PJAE APIJDK 1.1.8 API
-
PJAE APIPJAE PJAE JDK 1.1.8 API
-
PJAE API () com.sun.lang.UnsupportedOperationException java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError com.sun.lang.UnsupportedOperationException
-
PJAE APIPJAE API , , PJAE
java.lang.NoClassDefFoundError
-
PJAE APIJDK 1.1.8 PJAE , PJAE-, , PJAE-, JDK 1.1.8
-
PJAE APIPJAE JDK com.sun.lang com.sun.util.PTimer com.sun.awt input method java.awt.Component.isDoubleBuffered
-
PJAE //, PJAE
Personal Java PJAE , !
-
PJAE API java.applet ()java.awt () Frame: Dialog: (modal) Window: FileDialogCheckboxMenuItem, Menu, MenuBar, MenuShortcut: Frame
-
PJAE API ()java.awt.datatransfer ()java.awt.event ()java.awt.iamge ()java.beans ()java.io () java.lang ()Java 2 Security API
-
PJAE API ()java.lang.reflect ()Java 2 Constructor, Field, Method java.lang.reflect.AccessibleObject java.math ()java.security
-
PJAE API ()java.net ()URL : HTTP 1.0 : SSL, Gofer, FTP, SMTP, File java.rmi ()java.security ()Java 2 Security API , java.security.acl ()java.security.cert/interfaces/spec ()
-
PJAE API ()java.sql ()java.math java.text () ISO 8859-1, Unicode,
-
PJAE API ()java.util () Java 2 Security API Java 2 Collection API java.util.jar, java.util.zip ()
-
PJAE API ()
-
PJAE API ()
-
PJAE PJAE GUI RMI, JDBC API HTTP ... , PJAE
-
Personal Java , Java (^^)Java !
-
Personal Java () String StringBuffer java.util.Vector, java.util.Hashtable ...
-
Personal Java () (lazy instantiation)
-
PJAE J2SE RAD PersonalJava Sun : javac + pjcc (PJAE compatibility classes): JavaCheck: PJEE (PersonalJava Emulation Environment), java Xrunhprof:cpu=samples MainClass
-
JavaCheck // SGML PJAE 1.1.0 PJAE JavaCheck : /Unsupported, /Optional: /Modified, /Unresolved, OK
-
JavaCheck java.awt.Frame ,
-
PJEE-Personal Java Emulation Environment PJAE
PJAE ,
PJAE + Touchable LAF
-
PJAE Sun Reference Implementation (http://java.sun.com/) : MIPS, SH3, SH4, ARM: Windows CE java.awt, java.io, java.math, java.rmi, java.sql, java.util.zip java.security
-
PJAE ()Insignia Jeode (http://www.insignia.com/)Sun (Jeode EVM) (Jeode Classes) : ARM, MIPS, x86, SH3, SH4, PowerPC: Win32, VxWorks, Linux, Nucleus, BSDi, pSOS PJAE 1.2
-
PJAE ()NSIcom JSCP/CrEme (http://www.nsicom.com)JSCP Sun Personal Java ,CrEme JSCP WinCE : 68k, Sparc, MIPS, ARM, x86, PowerPC, SH3: DOS, Win32, Linux, LynxOS, pSOS, VRTX, VxWorks
-
PJAE ()KadaSystems KadaVM (http://www.kadasystems.com/)Sun (Kada EVM) Palm Computing Platform, Win32 java.beans(), java.rmi(), java.security()
-
Personal Java Main(Frame)+Skeleton(Cards)+RatioLayout PJAE Skeleton , , RatioLayout Wire Server
-
Personal Java () Skeleton () , Skeleton Provider: initialize, execute, cleanup Caller: setup, fire , ,
-
Wire Wire = WebIDL Runtime Engine
HTTP
Wiring Protocol
Wire Inspector
Wire Server
Wire
-
doc.table[3].a['*[*]*'].text doc.table[3].a['*[*]*'].href
-
Personal Java APIclass Connector Connector(String host, [int port], [boolean mode]); Binding request(String mod, String svc, Binding inputs) throws RequestFailureException; void quit();boolean TRANSIENT = false;boolean PERMANENT = (! TRANSIENT);
class Binding WIDL BINDING
-
Personal Java e-SpiderPersonal Java Wire Server 65KB jar , , , , , , , , , ...
-
spider.util.Skeletonpackage spider.util;import spider.Spider;import wire.proto.*;import java.awt.*;import java.awt.event.*;
public abstract class Skeleton extends Panel { public Skeleton(String ident, final String parent) { this.ident = ident; this.parent = parent; send = Spider.makeButton(""); exit = Spider.makeButton(""); send.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fire(); }}); final Skeleton sk = this; exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cleanup(); Spider.delete(sk); hide(); Spider.front(parent); }}); message = Spider.makeStrongLabel(" ", Label.LEFT); if (Spider.isColor()) message.setForeground(Color.red.darker()); } ...
-
spider.util.Skeleton ()public abstract class Skeleton extends Panel { public Skeleton setup() { setLayout(new RatioLayout()); initialize(); Spider.insert(ident, this); Spider.front(ident); return this; } public void fire() { StopWatch timer = new StopWatch(); try { timer.start(); execute(); } catch (Exception exc) { Spider.putMessage(exc.toString()); } finally { timer.finish(); } } protected abstract void initialize(); protected abstract void execute() throws Exception; protected void cleanup() { send = exit = null; message = null; }
Button send, exit; Label message; ...}
-
package spider;import wire.proto.*; // Wire APIimport java.awt.*;import java.awt.event.*;
class News extends spider.util.Skeleton { public News(String parent) { super(" ", parent); } protected void initialize() { titles = Spider.makeList( new ListAction() { public void fire(int index) { titles.select(index); new NewsView(titles.getItem(index), links[index]).fire(); }}); add(".02, .02; .96, .81", titles); // RatioLayout add(".02, .84; .48, .08", send); // Fields send, exit, and message from Skeleton add(".50, .84; .48, .08", exit); add(".02, .92; .96, .08", message); }
-
()class News extends spider.util.Skeleton { ... protected void execute() throws Exception { // Connector Spider.wire() throws ConnectionFailureException; Binding os = Spider.wire().request("news", "top", null); // Wire Server stories = (String[])os.get("stories"); if (stories != null) for(int i = 0; i < stories.length; i++) titles.addItem(stories[i]); links = (String[])os.get("links"); } protected void cleanup() { if (titles != null) { titles.removeAll(); titles = null; } stories = links = null; super.cleanup(); } private java.awt.List titles; private String[] stories, links;}
// News : (new News("e-Spider")).setup().fire();
-
e-Spider 3 Personal Java PJAE + i18n.jar( ) Java JDK1.1.8 Java http://210.217.5.110/demo.html
e-Spider *is* a DONATION-ware!
-
e-Spider
-
AfterthoughtsPersonal Java PJAE
Personal Java () !
-
- -