1 / 66

Java Trend & Java Development Framework

Java Trend & Java Development Framework. 응용기술팀 미들웨어그룹 이원영. 목 차. 1. 최근 Java 기술 동향 2. Java Development Framework 3. JDF DEMO 4. 향후 과제 5. Q & A. 1. 자바 웹 기술 동향. 1998 년 11 월 20 일 정보공유회의 예상 자료. EJB, CORBA/JAVA OTM. JDK1.1, JDK1.2, RMI, JavaBeans. JDK1.0.2, AWT GUI,

tariq
Download Presentation

Java Trend & Java Development Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Trend & Java Development Framework 응용기술팀 미들웨어그룹 이원영

  2. 목 차 1. 최근 Java기술 동향 2. Java Development Framework 3. JDF DEMO 4. 향후 과제 5. Q & A

  3. 1. 자바 웹 기술 동향 1998년 11월 20일 정보공유회의 예상 자료 EJB, CORBA/JAVA OTM JDK1.1, JDK1.2, RMI, JavaBeans JDK1.0.2, AWT GUI, Applet Java-Enabled Web Pages CGI HTML FORM HTML OMG JAVA/CORBA Client Side Server Side 1995 1996 1997 1998 1999 1994

  4. 자바 웹 기술 동향(2) NOTE: OTM ??? CORBA ??? 현재 및 향후 발전 방향 ISSUE : Legacy !!! CICS, TUXEDO, ENTERA ---------------------------- J*Link, CTG, Jolt, etc.. Linux AppServer, JDK1.2, J2EE(Servlet/JSP/EJB) CGI, HTML, Servlet/JSP, Applet, RMI, EJB, AppServer Development Framework Rapid Development, Standard Coding Template CGI/Servlet/JSP Application Server ( SI Project ) 2001 2002 1999 2000

  5. Database 자바 적용 아키텍춰의 변화 CGI vs Servlet (HTML + Servlet + JDBC) Web Server printf(“<html><head>…”); HTML HTTP Pro*C CGI HTTP Servlet <html> <head> <titile>…</title> <body bgcolor=#fffff> …. </html> JDBC NOTE : NOT Accept !! 동일한 노가다성 작업. System.out.println(“<html><head>…”);

  6. Database Database 자바 적용 아키텍춰의 변화 Applet + RMI(Remote Method Invocation) + JDBC Web Server RMI Object Applet (Swing) HTTP N- Tier Architecture Applet Applet 3 Tier Architecture RMI RMI Object <applet code=MyApplet width=400 height=300> </applet> JDBC JDBC NOTE : NOT Accept !! Network Address Book

  7. Applet + RMI + JDBC Sample http://javaservice.net

  8. DB Database 자바 적용 아키텍춰의 변화 Applet + CORBA + JDBC HTTP Server Application(C++) CORBA Object Applet (Swing) Pro*C HTTP /download N- Tier Architecture Applet Applet CORBA IIOP CORBA Object IIOP JDBC JDBC NOTE : 국방시설, 신공항 Oracle OAS, JCORBA Java Application

  9. DB 자바 적용 아키텍춰의 변화 EJB(Enterprise Java Beans)의 등장 Sun Microsystems. EJB Client Container RMI/IIOP RMI/IIOP EJB Server EJB Java IDL Client RMI/IIOP Container Non-Java CORBA Client EJB CORBA/IIOP Container Entity EJB COM/CORBA/IIOP ActiveX Client RMI/JRMP 3 Java Naming and Directory Interface (JNDI) JDBC or JSQL 2 Applet 1

  10. 자바 적용 아키텍춰의 변화 Application Server의 르네상스(1) BEA WebLogic IBM WebSphere Inprise Oracle OAS(OSDK) SilverStream Sapphire/Web GemStone/J PowerTier J2EE EJB,Servlet,JSP CORBA

  11. 자바 적용 아키텍춰의 변화 Application Server의 르네상스(2) Web Based System Distributed Object On-Line Transaction Connection Pool Fail-Over Load-Balance Legacy Access Authentification

  12. TUXEDO Entera CICS Servlet Servlet Servlet Database JSP JSP 자바 적용 아키텍춰의 변화 Application Server의 르네상스(3) HTML Applet BEA WebLogic IBM WebSphere Inprise Server Oracle OAS(OSDK) J2EE Jolt CTG J*Link HTTP(S) Applet EJB Java GUI Application Firewall Application Server Features Application Server

  13. Java RAD IDE Tool(1) 자바 적용 아키텍춰의 변화 Symantec Visual Café for Java For BEA WebLogic

  14. Java RAD IDE Tool(2) 자바 적용 아키텍춰의 변화 IBM Visual Age for Java For IBM WebSphere

  15. Java RAD IDE Tool(3) 자바 적용 아키텍춰의 변화 Borland JBuilder For Inprise Serveer

  16. Java RAD IDE Tool(4) 자바 적용 아키텍춰의 변화 Oracle JDeveloper For Oracle OAS

  17. 자바 적용 아키텍춰의 변화 Java RAD IDE Tool(5) BEA WebLogic IBM WebSphere Inprise Server Oracle OAS(OSDK) Symantec Visual Cafe IBM Visual Age for Java Boland JBuilder Oracle JDeveloper How about ? BEA WebLogic IBM VisualAge for Java

  18. 자바 적용 아키텍춰의 변화 Application Server의 르네상스(4) 실 프로젝트 사례 . . . . . .

  19. Web Based프로젝트의 현주소(1) AS C/S Web Web Web Power Builder Java Delphi Tuxedo Internet ? Process Frame Coding Template Tunning Guide

  20. Web Based프로젝트의 현주소(2) 구축/개발/구현 단계 AS Web Web Web Internet 근데, 어케 해? 준비 끝 ! 네가 먼저 해 그래 하자.. 따라 할께….

  21. Break Time 2. Java Development Framework

  22. Java Development Framework Java Program Libraries ? Source Template ? Common Module ? Business Component ? Process Frame ?

  23. JDF (2) What is problem ? Low Level API Hard to skill-up API Version UP Project Change Our Systems Applet Swing Application Server Layer Servlet JSP EJB JDBC LDAP CTG Jolt

  24. JDF (3) What do you want ? S/W System JDF API Applet Swing Application Server Layer Servlet JSP EJB JDBC LDAP CTG Jolt

  25. JDF (4) Architecture Layers S/W System JDF API Source Template Project Base Framework Development Core Framework Applet Swing Application Server Layer Servlet JSP EJB JDBC LDAP CTG Jolt

  26. JDF (5) Development Core Framework Source Template Project Base Framework Development Core Framework Configuration Log Message Servlet Connection Resource Transaction Process Connection Pool EJB JOLT CICS PCS Mail And More….

  27. JDF (6) Project Base Framework Source Template Project Base Framework Authentification Authority HTML Header ACL Management User Managerment BBS Help System Mail Service And More…. Development Core Framework

  28. JDF (7) Source Template Source Template Business Program Sample Sample Servlet Source JSP Template EJB Sample Mail Sample And More…. Project Base Framework Development Core Framework

  29. JDF (8) Core Framework In Details Development Core Framework Configuration Log Message Servlet Connection Resource Transaction Process Connection Pool EJB JOLT CICS PCS Mail And More….

  30. JDF : Configuration API(1) DriverManager.getConnection( "jdbc:oracle:thin:@power:1521:ORA8i", "scott", "tiger"); servlet.snoop.code=SnoopServlet servlet.snoop.initArgs=ip=165.244.227.233,port=7000 JDBC DB Connection Info, Host IP Address Port # CICS Connection Info, etc..

  31. JDF : Configuration API(2)

  32. JDF : Configuration API(3) Config conf = new Configuration(); String driver = conf.get("com.lgeds.jdf.tool.generator.db.driver"); String url = conf.get("com.lgeds.jdf.tool.generator.db.url"); String user = conf.get("com.lgeds.jdf.tool.generator.db.user"); String password = conf.get("com.lgeds.jdf.tool.generator.db.password"); boolean isTrue = conf.getBoolean("com.lgeds.jdf.logger.debug.trace"); int timeInterval = conf.getInt("com.lgeds.jdf.db.pool.checkinterval"); long lastModified = conf.getLong("com.lgeds.jdf.something.lastModified"); jdf.properties NOTE: SAMPLES

  33. JDF : Logger API(1) Problem: System.out.println(“debug here”); System.out.println(“debug there1”); System.out.println(“name=“ + name); if ( Debug.TRACE ) { System.out.println(“name=“ + name + “,age=“ + age); } Is it good ?

  34. JDF : Logger API(2)

  35. JDF : Logger API(3) Solution: Logger.sys.println(“system error message”); Logger.err.println(“critial error message”); Logger.info.println(“info message”); Logger.debug.println(“debug message”); Logger.dbwrap.println(“SQL query”); NOTE: jdf.properties, Sample Log.file

  36. JDF : Message API(1) Problem: “귀하의 권한은 2001년 6월 28일 까지 입니다.” “에러가 발생했다니까…. 다시 해 !!” “아주 잘 했어요…. “ Is it good ?

  37. JDF : Message API(2)

  38. JDF : Message API(3) Solution: try { // do some business code // … } catch( SomeBusinessException e) { Message msg = new MessageStore("M013"); msg.setArg("name", "이원영"); msg.setArg("birthday", "1970.6.28"); printMessagePage (req, res, msg.toString()); return; } NOTE: jdf.properties, message.properties

  39. JDF : Connection Resource API(1) Problem: public abstract class GeneralClass { public GeneralClass(){} protected java.sqlConnection getConnection() throws Exception { String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@power:1521:ORA8i"; String user = "scott"; String password = "tiger"; Class.forName(dirver); Java.sql.Connection conn = DriverManager.getConnection(url, user, password); return conn; } …. }

  40. JDF : Connection Resource API(2) Problem: public class MyClass extends GeneralClass { public MyClass(){} public void somemethod() throws Exception { java.sql.Connection conn = getConnection(); // do something with the "conn"; // …. } } Is it good ?

  41. JDF : Connection Resource API(3)

  42. JDF : Connection Resource API(4) Solution: public void somemethod() { ConnectionResource resource = null; try { resource = new gov.mpb.pbf.db.SampleConnResource(); java.sql.Connection conn = resource.getConnection(); // do something } catch(Exception e) { // error trace } finally { if ( resource != null ) resource.release(); } } NOTE: jdf.properties, SampleConnResource.java

  43. JDF : Transactional Connection API(1) Problem: public void somemethod() { ConnectionResource resource = null; java.sql.Connection conn = null; try { resource = new MyConnectionResource(); conn = resource.getConnection(); // do something conn.commit(); } catch(Exception e) { try{conn.rollback();}catch(Exception e){} } finally { if ( resource != null ) resource.release(); } }

  44. JDF : Transactional Connection API(2) Solution: public void somemethod() { TransactionalResource resource = null; UserTransaction tx = null; try { resource = new MyTransactionalConnectionResource(); tx = resource.getUserTransaction(); //do something tx.commit(); } catch(Exception e) { try{tx.rollback();}catch(Exception e){} } finally { if ( resource != null ) resource.release(); } }

  45. JDF : Transactional Connection API(3)

  46. JDF : Servlet Framework API(1) Problem: public void doGet(HttpServletRequest req, HttpServletResponse res) thorws Exception { String name = req.getParameterValues("name")[0]; int age = -1; try { age = Integer.parseInt(req.getParameterValues("age")[0]); }catch(Exception e){} String address = req.getParameterValues("address")[0]; Double salary = 0; try { salary = Double.parseDouble(req.getParameterValues("salary")[0]); }catch(Exception e){} } Is it good ?

  47. JDF : Servlet Framework API(2)

  48. JDF : Servlet Framework API(3) Solution: public void doGet(HttpServletRequest req, HttpServletResponse res) thorws Exception { Box box = HttpUtility.getBox(req); String name = box.get("name"); int age = box.getInt("age"); String address = box.get("address'); double salary = box.getDouble("salary"); // … }

  49. JDF : Servlet Framework API(4) Solution: JDFBaseServlet YourServlet printJspPage() printMessagePage() …. performTask(req,res) { // do your task } SessionBox File Upload

  50. JDF : DbWrap & Entity Generator (1) Problem: - Entity Class Coding - DbWrapper Class Coding - 단순반복 작업의 연속 Is it good ?

More Related