J2 Ee

1,099 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,099
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

J2 Ee

  1. 1. Java 2 Enterprise Edition (J2EE) 의 CBD 방법과 지원도구 PD99- 부서번호 - 일련번호 별표 4( 국문 ) 2001. 5. 30. 컴퓨터  소프트웨어기술연구소 이 우 진 [email_address] S/W 공학연구부 - 컴포넌트공학연구팀
  2. 2. 목 차 <ul><li>CBD 개발 방법의 필요성 </li></ul><ul><li>J2EE 의 구조 </li></ul><ul><li>Enterprise Java Beans (EJB) 프로그래밍 </li></ul><ul><li>J2EE 지원 도구 </li></ul><ul><li>MS .Net 의 개요 </li></ul><ul><li>J2EE 와 .Net 의 비교 </li></ul><ul><li>eBusiness 개발자의 변화 </li></ul><ul><li>Q & A </li></ul>
  3. 3. eCommunity 산업 추세 $250M/ $1,017M/ $1,713M $3,252M/ $5,864M/ $179B $207B $240B $277B $318B Source : IDC 2000, eCommunity Software, 2000-2004, as Percent of All Software
  4. 4. eBusiness Speed
  5. 5. eBusiness 의 성공 요건 Good Item Time to Market 개발 기간 단축 병행 개발 <ul><li>Divide-and-conquer </li></ul><ul><li>Parallel Processing </li></ul><ul><li>Pipelining </li></ul>재사용 Cost 감축
  6. 6. S/W 개발 방법론의 변천 S/W Development Phase : reuse : integration mechanism 요구분석 개략설계 상세설계 구현 테스팅 & 디버깅 유지보수
  7. 7. 컴포넌트 기반 개발 영역 모델링 컴포넌트 식별 컴포넌트 다이어그램 생성 ( 인터페이스 정의 ) 컴포넌트별 상세 설계 <ul><li>independent </li></ul><ul><li>iterative </li></ul><ul><li>incremental </li></ul>
  8. 8. 전형적인 3-계층 구조 HTTP HTML 프리젠테이션 계층 비즈니스 계층 데이터베이스 계층 클라이언트 시스템 RMI/IIOP 데이타베이스 접속 API 방 화 벽 방 화 벽
  9. 9. J2EE의 5 –계층 구조
  10. 10. EJB 프로그래밍(1/5) Enterprise JavaBeans Enterprise JavaBeans EJB Server EJB Server IIOP Vendor 5 Vendor 4 Enterprise JavaBeans client Java IDL client CORBA client Vendor 1 Vendor 2 Vendor 3 IIOP IIOP IIOP, RMI Application Server
  11. 11. EJB 프로그래밍(2/5) EJB Bean Container Home Interface Remote Interface Other EJB Beans Context initial = new InitalContext(); Object objref = initial.lookup(“MyConverter”); ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref,ConverterHome.class); Converter currencyCon = home.create(); Double amount = currencyCon.dollarToYen(100.00); Client 프로그램 Lookup(JNDI 이용 Bean 찾기 ) Home Interface 가져오기 Remote Interface 사용 Home 을 이용 빈 생성 Application Server
  12. 12. EJB 프로그래밍(3/5) <ul><li>Two Type of Beans : Session Bean </li></ul><ul><ul><li>Executes on behalf of a single client. </li></ul></ul><ul><ul><li>Can be transaction-aware. </li></ul></ul><ul><ul><li>Updates shared data in an underlying database. </li></ul></ul><ul><ul><li>Does not represent directly shared data in the database, although it may access and update such data. </li></ul></ul><ul><ul><li>Is relatively short-lived. </li></ul></ul><ul><ul><li>Is removed when the EJB server crashes. </li></ul></ul><ul><li>Stateful vs Stateless Session Beans </li></ul>
  13. 13. EJB 프로그래밍(4/5) <ul><li>Two Type of Beans : Entity Bean </li></ul><ul><ul><li>Represents data in the database. </li></ul></ul><ul><ul><li>Is transactional. </li></ul></ul><ul><ul><li>Allows shared access from multiple users. </li></ul></ul><ul><ul><li>Can be long-lived. </li></ul></ul><ul><ul><li>Survives crashes of the EJB server.. </li></ul></ul><ul><li>Persistence Type </li></ul><ul><ul><li>Container Managed Persistence (CMP) </li></ul></ul><ul><ul><li>Bean-Managed Persistence (BMP) </li></ul></ul>
  14. 14. EJB 프로그래밍(5/5) Bean Provider Application Assembler Application Server (Container + EJB Server) Deployer Tool EJB-JARs Combine Deployment Descriptor deploy
  15. 15. J2EE 지원 도구 J2EE 표준 <ul><li>Weblogic 6.0 </li></ul><ul><li>Gemstone </li></ul><ul><li>WebSphere </li></ul><ul><li>Cool:Jeo 2.0 </li></ul><ul><li>Together 5.0 (TogetherSoft) </li></ul><ul><li>Cobalt 1.0 (ETRI) </li></ul>Application Server Development Tools <ul><li>J2EE 1.2, J2EE 1.3 </li></ul><ul><li>- EJB 1.3, EJB 2.0 </li></ul>
  16. 16. COBALT 도구 개요 컴포넌트 생성 지원 도구 컴포넌트 조립 지원도구 컴포넌트 변환 도구 생성 통합 G U I 조립 통합 G U I 모델 정보 관리기 모델 정보 관리기 G U I 전체 통합 G U I 영역 모델러 컴포넌트 모델러 아키텍쳐 모델러 컴포넌트 합성기 컴포넌트 개조기 코블 프로그램 연계기 웹 프로그램 변환기 응용컴포넌트 추출기 DB 연계기 코드 생성기
  17. 17. 컴포넌트 생성지원 도구의 흐름도 Describe Object Sequence Diagram Describe Use Case Model Identify Components Initialize Component Diagram Edit Component Diagram Add Extracted Components Edit Component Class Diagram Import/Export DB Tables Edit Source Code Deploy Components Generate EJB Testing Client Describe Object Model Describe Component Sequence Diagram Describe Class Sequence Diagram Initialize Component Class Diagram SRE Support Domain Modeling Component Modeling Component Design Code Gen.
  18. 18. MS .Net에 관하여 <ul><li>2000 년 중반에 MS 에서 차세대 인터넷 (Next Generation Internet) 으로 발표됨 </li></ul><ul><li>웹 서비스 (web service) 를 지원하는 새로운 플랫폼 </li></ul><ul><ul><li>웹 서비스를 통한 인터넷 상에서 어플리케이션의 통합 </li></ul></ul><ul><ul><li>표준 프로토콜 (SOAP) 을 이용한 다양한 클라이언트 환경 제공 </li></ul></ul><ul><ul><li>느슨한 (loose) 통합을 지원하는 분산 컴퓨팅 실현 </li></ul></ul><ul><ul><li>다양한 언어를 지원하는 개방형 프로그래밍 플랫폼 제공 </li></ul></ul>
  19. 19. .Net 환경 DB server Web Service 다양한 클라이언트 환경 Web Service SOAP SOAP SOAP HTTP SOAP = HTTP + XML 클라이언트 서비스 제공자 Web Application
  20. 20. .Net 프레임워크 Windows COM+ Services Common Language Runtime Base Class Library Data and XML ASP.NET Windows Forms Common Language Specification VB C++ C# Visual Studio.NET JScript …
  21. 21. J2EE와 .Net 비교 (1/4) <ul><li>결합(integration) 관점 </li></ul><ul><ul><li>결합하기 위해 미리 알아야 하는 정보의 양 </li></ul></ul><ul><ul><li>결합하는데 드는 노력 </li></ul></ul><ul><ul><li>분리-재결합을 위한 노력 </li></ul></ul><ul><li>Component </li></ul><ul><ul><li>견고한 (tight) 결합을 통한 시스템 통합 방법 </li></ul></ul><ul><li>Web Service </li></ul><ul><ul><li>느슨한 (loose) 결합을 통한 어플리케이션의 통합 허용 </li></ul></ul>
  22. 22. J2EE와 .Net 비교 (2/4) * Source : “Java 2 Enterprise Edition(J2EE) versus .Net Platform : Two vision of eBusiness,” ObjectWatch, March 2001. 기술 .Net J2EE 프로그래밍 툴 VisualStudio.NET - 분산 프로토콜 DCOM, SOAP RMI/IIOP 프리젠테이션 계층     프로그램 모델 ASP.NET Servlet, JSP 비즈니스 계층     하부구조 COM+ EJB 보안 API COM+Security Call Context JAAS 메시지 큐 API MSMQ JMS 1.0 비동기식 컴포넌트 Queued (COM+) Message Driven (EJB 2.0) Naming & Dir. Service ADSI JNDI 데이터베이스 계층     분산 트랜잭션 MS-DTC JTS 관계형 DB API ADO.NET JDBC 2.0 메인 프레임 DB 연결 Host Integration Server Java Connectors 프레임워크 기술     전자상거래 프레임워크 Commerce Server - B2B 통합 BizTalk Server -
  23. 23. J2EE와 .Net 비교 (3/4) * Source : “Understanding the component and Web Services Market,” CBDi forum, May 2001. Published for location independent discovery and use over a network Published for installation by a technical implementer Can be dynamically composed and or aggregated with other services based on information available at runtim Extensible, new specialized interfaces can be added to meet new requirements or services without disrupting existing clients Can be dynamically used based on information available at runtime. The interface can change Replaceable and upgradeable; providing the interface remains stable, the component can in theory be replaced with another implementation versioning, configuration, description. Can be easily reused Self describing and adapting Formal and precise interface definition of interface attributes –requires prior knowledge for use Generally only business level interface exposed Generally fine grain, method level interface exposing business, infrastructure and housekeeping functions Hides any Implementation details behind a SOAP interface Black box encapsulation; hides implementation details behind a COM, Java or CORBA Interface Implemented using open standards Implemented using de facto standards COM, Java or CORBA Web Service Component
  24. 24. J2EE와 .Net 비교 (4/4) 프로그래밍 언어 웹 서비스 프레임워크 컴포넌트 컨테이너 수행 플랫폼 Microsoft .Net SUN J2EE * Source : “Platforms for Components and Web Services,” CBDi Forum, April 2001 Many All Future Microsoft .Net Many Java Sun One APIs J2EE 1.4 ? J2EE 1.3
  25. 25. eBusiness 개발자 관점의 변화 OS + Programming Language Domain knowledge + + Programming Language Domain knowledge platform OS + Middleware Programming skills
  26. 26. Discussion <ul><li>Thanks </li></ul><ul><li>Q & A </li></ul>

×