Download presentation
Presentation is loading. Please wait.
Published byChristina Bradford Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.