Presentation is loading. Please wait.

Presentation is loading. Please wait.

Business Computing Lab Ahn, Younghoe 2003. 9. 6 WAF overview and Study guide WAF overview and Study guide.

Similar presentations


Presentation on theme: "Business Computing Lab Ahn, Younghoe 2003. 9. 6 WAF overview and Study guide WAF overview and Study guide."— Presentation transcript:

1 Business Computing Lab Ahn, Younghoe 2003. 9. 6 WAF overview and Study guide WAF overview and Study guide

2 2 Business Computing Since 2002J2EE BluePrint Seminar 2003 Contents Separation between framework and application Walk through PetStore application WAF Building-blocks WAF Study Best-practice Reference

3 3 Business Computing Since 2002J2EE BluePrint Seminar 2003 Separation between framework and application Framework 와 Application (application-specific code) 은 사용 목적이 다르다. Framework 와 application 의 관계 구분 FrameworkApplication 사용 목적 Application 개발을 용이하고, 아키텍처 반영을 유도 특정 도메인에서의 요구사항을 충족시키기 위함 사용자 Application 개발자 End user Framework Application General relationship WAF Application Component In Petstore

4 4 Business Computing Since 2002J2EE BluePrint Seminar 2003 Separation between framework and application Guidelines: –Package 를 이용한 구분 –Namespace 를 이용한 구분

5 5 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Walk through Scenario

6 6 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Visit the pet store web site

7 7 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Behind the scene –Request! –Container intercept the request  By configuration in web application deployment descriptor  EncodingFilter, SignOnFilter –Show the main screen  The request *.screen goes to Template servlet  Template JSP composes main screen Index.jsp main.screen ( populating.jsp )

8 8 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Behind the Scene(continued) banner sidebarbody mylist (optional) advicebanner(optional) banner

9 9 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Search an iguana item.jsp product.jsp category.jsp index.jsp in body section

10 10 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Behind the Scene –category.jsp, product.jsp, item.jsp –Using JSTL and EL

11 11 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Behind the Scene(continued) –item.jsp <jsp:useBean id="catalog" class="com.sun.j2ee.blueprints.catalog.client.CatalogHelper" scope="session" />

12 12 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Behind the Scene(continued) –item.jsp(continued) '> List Price: Your Price: '> Add to Cart

13 13 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Check out cart.do? action=purchase &itemId=EST-13

14 14 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Process the order –Generating the “cart.do” request –Generating the “order.do” request

15 15 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Process the order(continued) –Processing the “order.do” request order.do Main Servlet ‘ do ’ Request Processor delegate OrderHTML Action perform OrderEvent Petstore Component Manager reference via session Shopping WebController reference via context OrderEvent delegate OrderEJB Action delegate perform Shopping Controller EJB StateMachine

16 16 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Process the order(continued) –Processing the “order.do” request order.do Main Servlet Request Processor OrderHTML Action DefaultWeb Controller EJB Controller Local OrderEJB Action StateMachine OrderEventResponse doEnd Binding with Request OrderEventResponse

17 17 Business Computing Since 2002J2EE BluePrint Seminar 2003 Walk through PetStore application Process the order(continued) –Processing the “order.do” request order_complete.screen Main Servlet ScreenFlow Manager Taglib Template Servlet forwardToNextScreen forward.screen forward template.jsp OrderEventResponse Make client page

18 18 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Big picture by sun –deprecated?

19 19 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Reverse model on WAF Building-blocks –Loosely coupled

20 20 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks WAF Building-blocks Front Controller Servlet Filter request Template Service Request Processor Component Manager Web Controller EJB Controller State Machine Screen Flow Manager response

21 21 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Servlet Filter – 주요 역할  Request 나 Response 를 가로채서 반복적인 사전 / 사후 작업 Encapulation – 실제 소스 파일  Just place holder – 구현 방식 (WAF 의 확장 지점 )  javax.servlet.Filter 인터페이스를 구현  DD (Deployment Descriptor) 에 등록 – 관련 기술 및 패턴  Chain of Responsibility (in GoF Design Patterns)  Intercepting Filter (in Core J2EE Patterns)  Filter/FilterChain (in Servlet 2.3)

22 22 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Front Controller – 주요 역할  Request 처리를 위한 진입점 (‘ 콜 센터 ’)  실제 Request 를 처리와 화면 처리 사이의 중재자 역할 – 실제 소스 파일  MainServlet.java – 구현 방식 (WAF 의 확장 지점 )  No customization required  DD 에서 Request 유형에 맞춰 설정 (Servlet-mapping) – 관련 기술 및 패턴  Façade (in GoF Design Patterns)  Front Controller (in Core J2EE Patterns)

23 23 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Request Processor – 주요 역할  Request 처리 위한 알고리즘 Encapsulation  다수의 if 문을 제거하는 역할 – 실제 소스 파일  RequestProcessor.java – 구현 방식 (WAF 의 확장 지점 )  No customization required  MainServlet 과 tightly-coupled  url-mappings (URL to screen, HTML Action and Flow Handler)  event-mappings (Event to EJB Action) 정의 – 관련 기술 및 패턴  Strategy/Policy (in GoF Design Patterns)

24 24 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Web Controller – 주요 역할  HTML Action 처리  EJB-tier 와의 연결 지점 ( 처리 결과를 얻음 ) – 실제 소스 파일  WebController.java – 구현 방식 (WAF 의 확장 지점 )  WebController 인터페이스를 구현  WebKeys 인터페이스에 Fully qualified class name 등록  HTMLAction 을 구현하거나, HTMLActionSupport 를 확장한 HTML Action 정의  HTML Action 과 대응되는 Event 및 EventResponse 정의 – 관련 기술 및 패턴  Command (in GoF Design Patterns)

25 25 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks EJB Controller – 주요 역할  Web Controller 를 통해 받은 Event 를 처리  EJB 컴포넌트에 대한 Location 은 Service Location 컴포넌트 이용  내부적으로는 State Machine 이용 –Invoke event hander –EJBSessionFaçade 정보 관리 – 실제 소스 파일  EJBController Session bean  StateMachine.java – 구현 방식 (WAF 의 확장 지점 )  EJBController Session bean 을 확장한  WebKeys 인터페이스에 Fully qualified class name 등록  EJBAction 을 구현하거나, EJBActionSupport 를 확장한 EJB Action 정의 – 관련 기술 및 패턴  Visitor (in GoF Design Patterns)  Business Delegate (in Core J2EE Patterns)

26 26 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Component Manager – 주요 역할  Web-tier 와 EJB-tier 서비스에 대한 Location 서비스  내부적으로는 Service Locator 컴포넌트 이용  사용자 Session 에 대해 필요한 정보 관리 – 실제 소스 파일  ComponentManager.java – 구현 방식 (WAF 의 확장 지점 )  ComponentManager 인터페이스를 구현하거나 DefaultComponentManager 확장  WebKeys 인터페이스에 Fully qualified class name 등록 – 관련 기술 및 패턴  Service Locator (in Core J2EE Patterns)  HttpSessionListener (in Servlet 2.3)

27 27 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Screen Flow Manager – 주요 역할  Event 처리 이후의 화면을 결정하고, 다음 화면으로 향하게 함 – 실제 소스 파일  ScreenFlowManager.java, FlowHandler.java – 구현 방식 (WAF 의 확장 지점 )  ScreenFlowManager 는 변화 없음  WebKeys 인터페이스에 Fully qualified class name 등록  url-mappings 에 정의된 FlowHandler 인터페이스를 구현

28 28 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Buiding-blocks Template Service – 주요 역할  사용자에게 보여질 화면을 구성하고 보여줌  내부적으로는 DOM 처리와 Custom Tag 처리등을 hiding  사용자 Session 에 대해 필요한 정보 관리 – 실제 소스 파일  TemplateServlet.java – 구현 방식 (WAF 의 확장 지점 )  No customization required  DD 에서 Request 유형에 맞춰 설정 (Servlet-mapping)  Template 구성, 화면 정의 및 타일을 구성하는 jsp 작성 – 관련 기술 및 패턴  Composite View (in Core J2EE Patterns)  DOM Parsing (in J2SE 1.4)

29 29 Business Computing Since 2002J2EE BluePrint Seminar 2003 WAF Study Best-practice 기존에 작성된 문서를 숙지하자 – 기존의 ( 지적 ) 유산은 철저하게 활용할 수 있어야 한다. 하나의 처리 흐름을 타고 쭉 훑어보자 –“Separation of Concern” 주석을 달면서 코드를 묶어 보자 – 모든 코드에 주석을 달아보면서 작성자의 의도를 파악 –“ 행 -> 단락 -> 메소드 ” 순서로 의미를 파악 블록 단위로 추상화 하여 개념적으로 정리해 본다 패턴과의 매핑으로 개념을 더욱 견고하게 하자

30 30 Business Computing Since 2002J2EE BluePrint Seminar 2003 Reference Petstore-WAF by 안영회, August 22, 2003 Core J2EE Patterns GoF Design Patterns Online Catalog


Download ppt "Business Computing Lab Ahn, Younghoe 2003. 9. 6 WAF overview and Study guide WAF overview and Study guide."

Similar presentations


Ads by Google