mongodb with play

53
2011 JCO 11th Conference | Track2-Session5 | Javacommunity.Org 채수원 (LG CNS) [email protected] Revision: 2011.6.17 MongoDB with Play!

Upload: suwon-chae

Post on 27-Jun-2015

2.783 views

Category:

Technology


4 download

DESCRIPTION

JCO 2011 발표 자료입니다.

TRANSCRIPT

  • 1. MongoDB with Play! (LG CNS) [email protected] Revision: 2011.6.172011 JCO 11th Conference | Track2-Session5 | Javacommunity.Org

2. Who am IRole- LG CNS - LG CNS Agile CoachSpecialty- - - Book-TDD (2010,) 3. Why am I here? . - MongoDB Play . - . - . 4. My personal dev era...PHP (in my opinion)- Easy to learn and use- First 5 pages for 5 hours(exclude design works) 5. My personal dev era...Java ... 6. My personal dev era...I need... 7. ... 8. Front-end ! 9. ! 10. ??? ??? ??? ?????? ??? ??? ??? VVMM (...)??? ??? ?????? ??? ?????? ??? 11. We are here IT Universe 12. My personal dev era...Java (in my opinion)- NOT easy to learn and use- First 5 pages for 50 hours !! 13. Someone says No Pain, No Gains ! 14. No!!! No More Pain!! 15. ! , ? 16. Developing WEB 17. over1000 projects / year 18. New kids on the street 19. In cases... 20. Idea Time Service 21. Productivity focusedBig Hits!! 22. Productivity focused 23. Productivity focused ??? 24. Productivity focused in Java http://playframework.org 25. Play! be productivequickly and efficiently 26. GWTRailsGrailsPlay!http://raibledesigns.com/rd/entry/open_source_web_frameworks_mailing 27. Key features Fix the bug and hit reload! Stateless model (Ready for REST) Efficient template system(based on Groovy) Asynchronous (long polling and WebSockets) Full stackintegration with Hibernate, OpenID, OAuth,Memcached Pure Java Resolve errors quickly Fun & Productive 28. Demo Play framework 29. - ?- ? 30. And Then... 31. We Need Box and Line!! JPA? JDBC? RDBMS...MSSQL? ORACLE? MySql? PostgreSQL?Which one is easiest one to development with? 32. My personal dev era...SQL & PL/SQL(in my opinion)- Not hard, but there is need time to learn and use- and, so many spoilers... 33. AND ROWNUM = 1) AS dest_ptnr_ph,m1.consol_yn,WITH C1 AS ( TKAFXC012 B, Tracking03.sql (1/4 page) m1.pol_nation_cd, m1.consol_mbl_no,SELECT /*+ USE_NL(B A) */TKAFXC001 A m1.fdest,${userMail} AS send_mailA.TB_BL_MNGR_NO , WHERE A.TB_BL_MNGR_NO =B.TB_BL_MNGR_NOm1.fdest_nation_cd,FROM (SELECT Q.TB_BL_MNGR_NO,A.HBL_NO ,Q.HBL_NO,AND B.REF_NO = C.VALUE (SELECT g21.nation_nmA.MBL_NO ,AND A.BIZ_UNIT_CD = 300 FROM TKAFcm021 g21A.CARRIER_CD , DECODE(Q.CU_PROD_TYPE,AP,Q.HBL_NOAND A.EXIM_TYPE = 10WHERE g21.nation_cd =A.CARRIER_NM , ,Q.MBL_NO) MBL_NO,AND A.DEL_YN = Nm1.fdest_nation_cd) AS fdest_nation_nm,A.FDEST , Q.CARRIER_CD,AND B.REF_SEQ = 1to_char(to_date(m1.eta_dt,A.DPTR_PTNR_CD ,YYYYMMDDHH24MI), MON DD, YYYY) ASAND B.DEL_YN = N DECODE(Q.CU_PROD_TYPE,AP,PANTOS,A.DEST_PTNR_CD ,eta_dt,AND B.REF_NO_TYPE IN (24,4) DECODE((SELECT com_cd_nmA.POL_NATION_CD ,to_char(to_date(m1.pickup_dt, )YYYYMMDDHH24MI), MON DD, YYYY FROM TKAFXA102 WHERE GRP_CD = 014A.FDEST_NATION_CD, SELECT M1.V_RANK,HH24:MI) AS pickup_dt,AND COM_CD = CARRIER_CD AND USE_YNA.SERVICE_TYPE,m1.TB_bl_mngr_no,= Y ),,Q.CARRIER_NM,A.CONSOL_YN, m1.STS_CD_IMAGE AS img_status,m1.hbl_no,(SELECT com_cd_nm FROMA.CONSOL_MBL_NO, FC_GET_TRACKING_LOC(m1.TB_bl_mngr_no, TKAFXA102 WHERE GRP_CD = 014 ANDm1.mbl_no,m1.STS_CD_TITLE) AS location,A.CU_PROD_TYPE,COM_CD = CARRIER_CD AND USE_YN = Ym1.carrier_cd, m1.STS_CD_TITLE AS STS_CD,))) CARRIER_NM,B.V_RANKm1.carrier_nm, (SELECT cfm281.pli_nameQ.FDEST,FROM TKAFXC001 A,m1.dptr_ptnr_cd,FROM TKAFcm091 cfm281 Q.DPTR_PTNR_CD,CARRIER_CD Bm1.dest_ptnr_cd,WHERE cfm281.pli_code = m1.STS_CD_TITLE Q.DEST_PTNR_CD,WHERE A.HBL_NO = B.VALUE(SELECT GTB303.pic_nm AND cfm281.code_type IN Q.POL_NATION_CD,AND A.BIZ_UNIT_CD = 300 FROM TKAFxa303 GTB303(TRACKING_STATUS, IRRE_CODE) ) ASAND A.EXIM_TYPE = 10Q.FDEST_NATION_CD,status, WHERE GTB303.nation_cd = Q.ETA_DT,AND A.DEL_YN = N (SELECT a01.messagem1.pol_nation_cdUNION Q.PICKUP_DT, AND ROWNUM = 1) AS dptr_ptnr_nm, FROM TKAFxa501 a01SELECT /*+ ORDERED USE_NL(C B A) */ Q.ONBOARD_DT,(SELECT GTB303.pic_nm WHERE a01.locale = ${nowLang} A.TB_BL_MNGR_NO ,Q.SERVICE_TYPE, FROM TKAFxa303 GTB303AND a01.code = m1.STS_CD_TITLE ) AS A.HBL_NO , lang_status,Q.CONSOL_YN, WHERE GTB303.nation_cd = A.MBL_NO ,to_char(to_date(m1.loc_event_dt, Q.CONSOL_MBL_NO,m1.fdest_nation_cd A.CARRIER_CD , YYYYMMDDHH24MI), MON DD, YYYYMAX(Q.V_RANK) V_RANK, AND ROWNUM = 1) AS dest_ptnr_nm, A.CARRIER_NM , HH24:MI) as loc_event_dt,MAX(DECODE(Q.RANK,1,Q.STS_CD,))(SELECT GTB303.pic_email A.FDEST , decode(m1.STS_CD_TITLE, DLV,STS_CD_TITLE, FROM TKAFxa303 GTB303m1.event_desc, ) AS signature, MAX(DECODE(Q.RANK_1,1,Q.STS_CD,)) A.DPTR_PTNR_CD ,WHERE GTB303.nation_cd =STS_CD_IMAGE, (SELECT decode(cfm281.code_type, A.DEST_PTNR_CD , m1.pol_nation_cd MAX(DECODE(Q.RANK,1,Q.LOC_EVENT_DT,TRACKING_STATUS, REG, IRRE_CODE, A.POL_NATION_CD , AND ROWNUM = 1) AS dptr_ptnr_email,IRR) )) LOC_EVENT_DT, A.FDEST_NATION_CD, (SELECT GTB303.pic_email MAX(DECODE(Q.RANK,1,Q.SORT_STD,))FROM TKAFcm091 cfm281 A.SERVICE_TYPE, SORT_STD, FROM TKAFxa303 GTB303WHERE cfm281.pli_code = m1.STS_CD_TITLEMAX(DECODE(Q.RANK,1,Q.EVENT_DESC,)) A.CONSOL_YN,WHERE GTB303.nation_cd = AND cfm281.code_type INEVENT_DESC, A.CONSOL_MBL_NO, m1.fdest_nation_cd(TRACKING_STATUS, IRRE_CODE) ) AS MAX(DECODE(Q.RANK,1,Q.EVENT_PLACE,)) A.CU_PROD_TYPE, AND ROWNUM = 1) AS dest_ptnr_email,code_type, EVENT_PLACE C.V_RANK (SELECT GTB303.pic_tel_no to_char(to_date(m1.onboard_dt, FROM (SELECT R.TB_BL_MNGR_NO,FROM FROM TKAFxa303 GTB303YYYYMMDDHH24MI), MON DD, YYYY(SELECT cfm281.pli_nameHH24:MI) onboard_dt, TKAFXC012 B,WHERE GTB303.nation_cd =FROM tb_gcm091 cfm281m1.pol_nation_cd(SELECT PLI_NAME FROM TKAFCM091 x TKAFXC001 A WHERE cfm281.pli_code = m1.STS_CD_TITLEWHERE CODE_TYPE = SERVICE_TYPE AND LOC_EVENT_DT, AND ROWNUM = 1) AS dptr_ptnr_ph,AND cfm281.code_type INx.PLI_CODE = m1.SERVICE_TYPE) SORT_STD,(SELECT GTB303.pic_tel_no service_type,(TRACKING_STATUS, IRRE_CODE) ) AS EVENT_DESC, FROM TKAFxa303 GTB303 status, 34. One possible solutionby 35. What is MongoDB?MongoDB (from "humongous") is a scalable, high-performance, open source, document-oriented database. (Written in C++) 36. Why MongoDB? Easy to learn and use No! SQL !!! JavaScript JSON-like Document Open Source Scalability 37. Key features Document-oriented storage Full Index Support Replication & High Availability Auto-Sharding Querying Fast In-Place Updates Map/Reduce GridFS Commercial Support 38. And ... 39. Easy to Try on Online~! 40. Easy to run . mongod ! 41. Drivers 42. Demo MongoDB 43. - ?- ? 44. Real World Example Message Board in 10min powered by Play! and mongoDB 45. CAUTIONS!! , (desire) . , (greed) . (consideration) 46. ...Dont waste -too much- time to choosetechnology. Instead, turn your pc on and writesome code.I swear. That is much more better! 47. Q&A 48. References...Reference Site (recommend!)playframework.orgmongodb.orgImageshttp://hubblesite.org/gallery/album/entire/pr2007004a/large_web/http://www.picturesdepot.com/wallpapers/208445/system+of+a+down+band.htmlhttp://www.imbc.com/broad/tv/drama/superrookie/LG CNS MTEC 2011 Workshop PicsBooksMongoDB definitive guide (OReilly)The little MongoDB book (http://openmymind.net/2011/3/28/The-Little-MongoDB-Book) 49. -- 2.0 .This work is Licensed under Creative Commons Korea Attribution 2.0 License.