weblogic 10g r3 new features - :: :: 데이터 · pdf file · 2009-06-09 weblogic...
TRANSCRIPT
<Insert Picture Here>
WebLogic 10g R3 New Features윤호성 ( [email protected] )Fusion Middleware Sales Consulting,Oracle Korea Ltd.
2 / 총페이지
Agenda
1. EJB 3.0 지원2. Spring Framework 지원3. HTTP Pub/Sub Server 지원4. Web Service 지원
3 / 총페이지
Agenda
1. EJB 3.0 지원2. Spring Framework 지원3. HTTP Pub/Sub Server 지원4. Web Service 지원
4 / 총페이지
EJB 3.0 개요
EJB3.0 은 POJO , annotation 기반의단순화된 Enterprise 프로그래밍모델을제공하는 J2EE 표준스펙(JSR220)
EJB 2.1 EJB 3.0remote interface
EJBOBject(EJBLocalObject) extends 필요EJB 스펙에의해 custom Java Interface 바로재활용불가RemoteException처리필요
home interfacecreate method 반복적인정의필요
bean classremote interface 에정의된 method 구현하지만 , 명시적으로
implements 하지않음 : IDE refactoring 기능불가사용하지않는 callback method 항상구현필요
ejb-jar.xml remote/home interface, bean class 관계설정으로항상체크설정많아지면 xml 내용/구조복잡
clientejb얻기위한단계가복잡 (jndi, home 객체, create 등 )Exception(remote 시) 처리필요
POJO 이용단순화된프로그래밍모델코드재활용IDE refactoring
metadata annotationejb관련설정 annotation 으로직접설정가능(xml 복잡성지양, 소스 readability 향상)
JPA(Java Persistence)ORM(Object Relational Mapping) : POJO 기반기존 entity bean 대체SE 환경에서사용가능다양한 Provider 제공가능
Expanded query language (JP QL)
5 / 총페이지
Weblogic Server의 EJB 3.0 지원
오라클은 JEE 표준의선두주자로써 EJB3.0 기능을포괄적으로지원•일찍부터 Toplink 기반의 ORM framework를 제공• EJB3.0 은오라클에서오픈소스로제공한 Eclipse Toplink를근간으로함.
Oracle TopLink
Object-RelationalMapping
Object-XMLMapping
EIS (JCA)
Packaged Apps Legacy Systems
Java SE
Databases
Java EE
JPA JAXBEJB 2.1
XML Data
ADF SpringFramework
WeblogicWorkshop
TopLink 기반 EJB3.0 수행환경구축
1. Weblogic 10.3 설치.2. Jdeveloper 10.3 설치. (또는스마트업데이트를통해 5KXF 또는 9J3A 적용)3. Weblogic의 Configuration Wizard 실행4. Create / Extend an Weblogic Domain 5. Include Application Delopment Framework
6 / 총페이지
오라클 JDeveloper는 설정을통한손쉬운 EJB 개발 – Entity Bean 개발ㄱ. Database Table 의내용을통한 Entity Bean 생성마법사제공ㄴ. get/set method 및 NamedQuery, 각종필요 ANNOTATION 자동생성
7 / 총페이지
JDEVELOPER 를통한 EJB 3.0 개발
JDEVELOPER 를통한 EJB 3.0 개발Session Bean 개발
ㄱ. javax.ejb.Local, javax.ejb.Remote interface 생성마법사제공ㄴ. Entity Bean 존재시 EntityManager 및각종함수생성마법사제공(session beans
façade )
8 / 총페이지
Toplink기반의 EJB 3.0구성지원
EJB3 annotation 과 Toplink option mapping.Field Mapping 정보
source overview
9 / 총페이지
Toplink기반의 EJB 3.0구성지원
Toplink 기반의 EJB 3.0 성능옵션들제공 (예, Lazy Fetch).
Eager
Lazy
10 / 총페이지
11 / 총페이지
Toplink기반의 EJB 3.0 구성지원
Persistence Provider 옵션.
General Options
Toplink Options
Cache options
12 / 총페이지
다양한성능및튜닝옵션
Minimal Writes, Updates Batch Reading, Writing SQL ordering Transformation support Existence checks Stored procedures Statement Caching Scrolling cursors Projection Queries Partial Attribute Queries Bulk Update Queries
“Just in Time” reading Automatic change detection Caching policies and sizes Parameterized SQL (binding) Pre-allocation of sequence
numbers Cache Coordination Optimistic, Pessimistic locking Joining object retrieval
optimization In memory querying Dynamic queries Optimized Change Tracking
13 / 총페이지
Agenda
1. EJB 3.0 지원2. Spring Framework 지원3. HTTP Pub/Sub Server 지원4. Web Service 지원
Spring Framework“Spring은엔터프라이즈어플리케이션에서 필요로하는기능을제공하는프레임워크.”
Spring 의특징ㆍ자바객체를담고있는경량의컨테이너
ㆍ DI (Dependency Injection) 패턴지원 의존하는정보를주입시켜주는기술로제어의역행 (IoC)을구현하기위한기술 객체사이의의존관계를객체자신이아닌외부조립기가수행한다는개념
ㆍ AOP (Aspect Oriented Programming) 지원 핵심관심사항과공통관심사항을구분하여프로그래밍하는기법
Aspect 가핵심로직구현클래스에의존하지않음 설정파일또는설정클래스등을이용하여여러클래스에적용
공통관심사항을묘듈화
ㆍ POJO (Plain Old Java Object) 지원ㆍ일관된트랜잭션처리방법제공
ㆍ다양한 API - JDBC, iBATIS, Hibernate, JPA, JMS, 메일, 스케줄링등
ㆍ자체적으로 MVC 프레임웍제공
14 / 총페이지
WLS 의 Spring Framework지원
15 / 총페이지
Pitchfork 를사용한 Spring 과 EJB 3.0 을확장및통합
Spirng Framework
Pitchfork
EJB3.0 JPA
SessionBeanMDB
WebLogic Server platform
•각종Annotation 제공
JSR 250 injection annotations: @PostCostruct, @PreDestroy and @Resource
EJB3 interception annotations: @AroundInvoke, @ExcludeClassInterceptors, @ExcludeDefaultInterceptors, @Interceptors, @Invocation
EJB3 transaction annotations : @Stateless, @ApplicationException and @TransactionAttribute
EJB3 injection annotation : @EJB (since M2)
• Spring Feature 제공
DI features constructor injection, injection of primitive, complex types
access to existing Spring configurations
access to a far more powerful and elegant AOP model
com.bea.core.repackaged.springframework
WebLogic Server & Spring
16 / 총페이지
WebLogic Server & SpringSpring Extention사용방법
1. Pitchfork download (http://www.springsource.com/pitchfork)
2. 라이브러리임포트ㆍ spring.jar ㆍ aspectjweaver.jarㆍ commons-logging.jarㆍ log4j-1.2.14.jarㆍ pitchfork.jar
3. XML element 설정ㆍ EJB, Web, and application descriptors 에다음사항추가
<component-factory-class-name>org.springframework.jee.interfaces.SpringComponentFactory
</component-factory-class-name>ㆍ Spring Configuration file 추가
– spring-ejb-jar.xml 나 spring-web.xml 라는이름으로 Spring bean 을정의하는파일추가– Spring 컨테이너가 EJB 나 servlet인스턴스를알수있게하기위해, Spring bean 의 <id>태그는
ejb-name 이나 class-name 으로설정.
17 / 총페이지
JDeveloper를통한 spring 개발
spring extension을통해 Spring 개발의편의성을지원. • Spring 관련구성파일작성시필요한 Element들을쉽게찾을수있도록 Code Coach기능지원
Spring Library 제공 Spring Bean 구성파일지원 Spring 구성파일작성을위한code Coach 기능
18 / 총페이지
JDeveloper를통한 spring 개발
Junit을이용하여, 단위테스트기능제공.
19 / 총페이지
Spring console
Spring Console Extension을통한 Spring 모니터링제공• web application이 start 되거나, active 상태에서 application 단위로 spring bean
configuration 을보여줌.Admin Console에서의 Spring Extension 화면
WeblogicContextLoaderListener
Web.xml
Weblogic-spring.jar
20 / 총페이지
구성 기능 설명
Bean ID 정의된 Spring bean 이름입니다.
Application Context Spring bean 이 정의된 application context 의 이름입니다.
Resource bean이 정의된 곳의 resource 이름입니다.
Bean Class Name Application context 안에 정의된 bean의 class 이름을 나타냅니다.
Singleton Spring bean의 singleton 여부를 나타냅니다. (Default = true)
Abstract Spring bean이 상속을 받았는지 여부를 나타냅니다.
Spring에서도 Bean의상속을통해서중복을방지하는것이가능합니다.
Lazy Init
ApplicationContext는컨테이너생성시점에서 lazy-init 속성이디폴트(false) 라면모든bean을미리생성합니다.만약 lazy-init 속성이 true 일경우그 bean은요청이올때생성하게됩니다.
Spring console
21 / 총페이지
WLDF Console Extension
WLDF Console Extension을통해그래픽모니터링을제공• Spring이제공하는광범위한 JMX 지원중에는 MBeanServerConnectionFactoryBean을통해
WebLogic Server의 MbeanServer를제공하는기능이포함됨.
Drag & drop
22 / 총페이지
23 / 총페이지
Agenda
1. EJB 3.0 지원2. Spring Framework 지원3. HTTP Pub/Sub Server 지원4. Web Service 지원
HTTP Publish-Subscribe Server 개요
Web 2.0 & Http pub/sub Server-지속적인연결을통한 application간의데이터교환
WebLogic Server Components Pub/Sub Server
24 / 총페이지
HTTP Publish-Subscribe Server 개요
Bayeux protocol사용• Server와 Client간의 Asynchronous message를 HTTP를통해서지연 없이 전달하기위한protocol
25 / 총페이지
HTTP Publish-Subscribe Server 개요
Reverse Ajax의 Comet 사용.• 끊기지않는 HTTP connection을 이용해서서버가 Client로 Data를 push
2. Client의요청이없어도Data를 Client로 Push
서버에서실시간Activity의연속적인프로세스를나타낸다.
1. 최초클라이언트가우선적으로서버에 접속
26 / 총페이지
HTTP Publish-Subscribe Server특징
효율적인 Resource 활용
Traditional Request/Response applications
계속적인 Refresh로인한Network Traffic 발생
Server resource 고갈
Pub/Sub based applications
No RefreshRefresh
27 / 총페이지
HTTP Publish-Subscribe Server특징
실시간데이터전달
• Usability, Interactivity향상• 사용자의시선유지
Data push
Event
실시간 contents 전달
28 / 총페이지
HTTP Publish-Subscribe Server 특징
JMS Channel을이용한메시지공유
non-JMS channel JMS-configured channel
모든메시지는다른서버의 Instance와공유할수없다.
모든메시지는클러스터로구성된다른 node에서도메시지를공유할수있다.
1. JMS로구성된 Channel로메시지 publish
2. pub-sub server는 JMS Topic으로메시지를재전송
3. 클러스터의노드에서 JMS message listener들이실행되어 JMS Topic로부터메시지를검색한뒤구독한 clients들자신의 node로메시지를전송
JMS-configured channel Message Flow
29 / 총페이지
HTTP Publish-Subscribe Server 데모
WebLogic Publish / Subscribe Server 구현
Demonstration
30 / 총페이지
31 / 총페이지
Agenda
1. EJB 3.0 지원2. Spring Framework 지원3. HTTP Pub/Sub Server 지원4. Web Service 지원
최신Webservice spec. 지원
Weblogic 서버는 JAX-WS 2.0과 JAXB 2.0 뿐만아니라 JAX-WS 2.1, JAXB 2.1도함께지원
JAX-WS (Java API for XML-based Web services ) 2.0• JCP(Java Community Process) JSR 224에기초하여 JAX-RPC 1.1에이은차세대웹서비스표준
• JAVA EE 5.0부터지원되는스펙으로웹서비스개발을보다손쉽게할수있는 API를제공
• 개발생산성을향상
JAX-WS 2.1 • JAXB 2.1 (JSR 222) Data Binding API 지원
• WS-Addressing 지원
• Dynamic publishing of endpoints
• APIs for EndpointReference creation and propagation
• Annotations and APIs to enabled/disable features, such as MTOM and Addressing
MTOM(Message Transmission Optimization Mechanism• 효율적인전송을위해웹서비스를통한이진데이터의전송스펙 – W3C
• XOP(XML-binary Optimized Packaging)을사용하여전송성능을높임
32 / 총페이지
완벽한 XML /자바매핑JAX-WS는 JAXB 표준을포함하고있기때문에 XML 스키마를자바로매핑할때모든 XML 데이터에대하여 100% 매핑이가능유형 JAX-RPC 1.1 JAXB 2.0xsd:anySimpleType java.lang.String java.lang.Objectxsd:duration java.lang.String javax.xml.datatype.Duration (새로운 유형)xsd:dateTime java.util.Calendar javax.xml.datatype.XMLGregorianCalendar (새로운 유형)xsd:time java.util.Calendar javax.xml.datatype.XMLGregorianCalendar
xsd:date java.util.Calendar javax.xml.datatype.XMLGregorianCalendar
xsd:gYearMonth java.lang.String javax.xml.datatype.XMLGregorianCalendar
xsd:gYear java.lang.String javax.xml.datatype.XMLGregorianCalendar
xsd:gMonthDay java.lang.String javax.xml.datatype.XMLGregorianCalendar
xsd:gMonth java.lang.String javax.xml.datatype.XMLGregorianCalendar
xsd:gDay java.lang.String javax.xml.datatype.XMLGregorianCalendar
xsd:anyURI java.net.URI java.lang.Stringxsd:NMTOKENS java.lang.String[] java.util.List<java.lang.String>xsd:IDREF java.lang.String java.lang.Objectxsd:IDREFS java.lang.String[] java.util.List<java.lang.Object>xsd:ENTITY not supported java.lang.Stringxsd:ENTITIES not supported java.util.List<java.lang.String>
33 / 총페이지
웹서비스개발의편이성
• POJO 또는 Stateless EJB로간단하게웹서비스생성가능
• 패키징과배포시별도의툴또는 SEI(service endpoint interface)가필요하지않음
@WebService // 웹서비스임을명시public class HelloService{
@WebMethod //sayHello라는웹서비스의Opreation 수행명시public String sayHello(String name){
retrun “Hello “ + name ;}
}
public class HelloClient{@WebServiceRef(wsdlLocation=“http://localhost:7101/helloService/helloPort?wsdl”) // 서비스참조static HelloService service;
…}
웹서비스의생성예
웹서비스의호출예
34 / 총페이지
웹서비스개발의편이성
JDeveloper를이용한웹서비스개발및테스트
웹서비스생성및Web Service Proxy 마법사제공 HTTP Analyzer를통한웹서비스테스트가능
35 / 총페이지
웹서비스개발데모
JDeveloper를이용한웹서비스개발및테스트
Demonstration
36 / 총페이지
WSRM(Web Services Reliable Messaging)개요
WSRM(Web Service reliable messaging)• 신뢰할수없거나간헐적으로연결되는불안정한네트웍크환경에서신뢰성있는메시징을보장해주는매커니즘
• 상호운용가능한프로토콜을제공하여어플리케이션 source와 Destination에메시지전달을보장
37 / 총페이지
WLS SAF Agent
Reliable Source
Web Service
WebLogic Server의WSRM 지원방안
WLS 의 WSRM 지원구조
File systemFile system
Client
Send Message
Message Transmit
Send Acknowledges
Reliable Destination
WLS SAF Agent
Message Delivery
JDBCFile System
JMS Server
File systemFile system
File system
JDBCFile System
File system
38 / 총페이지
39 / 총페이지
WebLogic Server의WSRM 지원방안
Store and Forward agent• 메시지를 저장하고 포워드 기능을 제공• Reliable messaging 보장.
SAF Agent
40 / 총페이지
WebLogic Server의WSRM 지원방안
모니터링
모니터링옵션 상세 설명
이름 이 설정의 이름
현재 리모트 Endpoints SAF agent가 메시지를 저장하고 포워딩하는 원격 endpoints의 수
리모트 Endpoints 상한Reset된 시점부터, 이 SAF agent를 통해 메시지를 저장하고 포워딩하고 있는 원격endpoints의최대수
총 리모트 Endpoints 수Reset된 시점부터, 이 SAF agent를 통해 메시지를 저장하고 포워딩하고 있는 원격endpoints의수
현재 Conversation 현재 Conversation 숫자
Conversation 상한 Reset 시점부터, conversation의최대수
총 Conversation 수 Reset 시점부터, conversation의총 수
들여오기 일시중지 보내는 agent가 현 시점에 메시지를 들여올 것인지 명시
포워딩 일시중지 보내는 agent가 현 시점에 포워딩을 정지할 것인지 명시
수신 일시중지 받는 agent가 현 시점에 받는 것을 정지할 것인지 명시
Conclusion
1. EJB3.0 지원
• Toplink & Kodo 를통한 Persistence Provider 제공
• 개발편이성및높은성능제공
2. Spring Framework 지원
• Pitchfork를통한 EJB3 통합 –상호보완
• Console Extension을통한모니터링
• Jdeveloper를이용한 Spring 개발
3. HTTP Pub/Sub Server 지원
• 실시간데이터 push
• 효율적인자원활용및성능개선
4. Webservice 지원
• JAX-WS 2.0/2.1, JAXB 2.0/2.1 지원
• MTOM 지원
• Weblogic SAF agent를이용한 WSRM 기능제공
Resources
WLS 10gR3 New features
• http://edocs.bea.com/wls/docs103/notes/new.html
Oracle Fusion Middleware Partner wiki (회원가입필요)
• http://ohfm.springnote.com/pages/3308631
OTN 공식싸이트
• http://otn.oracle.com
© 2008 Oracle Corporation – Proprietary and Confidential 43 / 총페이지
© 2008 Oracle Corporation – Proprietary and Confidential 44 / 총페이지