J2EE Overview.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialistica in Informatica – Università di Trento.
Advertisements

11 Copyright © 2005, Oracle. All rights reserved. Creating the Business Tier: Enterprise JavaBeans.
J2EE Architecture Overview
Introduction to Java EE (J2EE)
An architecture for webb applications, J2EE
Introduction to Java 2 Enterprise Edition About myself –Neutrinos, Cancer Research, IT Applications Today’s topic: J2EE –Context –Advantages –Components.
Distributed System Using Java 2 Enterprise Edition (J2EE) B.Ramamurthy.
1 James Lynn Hewlett-Packard Middleware Division EJB Architecture Design Strategies and Performance Optimizations.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Point Of Sale(POS) J2EE Application Department : Computer Science Degree : Master Student : Woojin Choi ID : (POS J2EE Application with JRun)
Java 2 – Enterprise Edition Kevin J. LaFata April 21, 2003 UM – St. Louis.
Java 2 Platform, Enterprise Edition (J2EE). Source: Computer, August 2000 J2EE and Other Java 2 Platform Editions.
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
© 2004 IBM Corporation BEA WebLogic Server Introduction and Training.
Websphere Overview dan wolfson senior technical staff member IBM Data Management.
Emmanuel Cecchet et al.  Performance Scalability of J2EE application servers.  Test effect of: ◦ Application Implementation Methods ◦ Container Design.
Distributed System Using Java 2 Enterprise Edition (J2EE)
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
Introduction to Java EE (J2EE)
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Distributed Multitiered Applications The J2EE platform uses a multitiered distributed application model. Application logic is divided into components 1.
Chapter 4: Core Web Technologies
Enterprise Java Beans CS-422. Application Servers In the late 1980s and though the mid 1990s a number of corporations (Broadvision, Netscape…) marketed.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Talarian Proprietary Talarian’s New JMS Offering and Sun Partnership.
Enterprise Java v012405J2EE Introduction1 Enterprise Computing and J2EE Introduction.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Entity Java Beans Jorg Janke Open Source ERP & CRM.
Enterprise Java Bean Matt. 2 J2EE 3 J2EE Overview.
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
Enterprise JavaBeans. What is EJB? l An EJB is a specialized, non-visual JavaBean that runs on a server. l EJB technology supports application development.
Introduction to J2EE Architecture Portions by Kunal Mehta.
Comp2513 JavaBeans, EJB and J2EE Daniel L. Silver, Ph.D.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Java 2 Enterprise Edition Presented by: Reem Osama Shehata Supervised by: Dr. Sherif Aly 16 th March 2006.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Ch 2 – Application Assembly and Deployment COSC 617 Jeff Schmitt September 14, 2006.
Introduction to Java EE (J2EE). CSE, IITB Umesh Bellur Session Objectives Understanding the value propositions of J2EE Getting a big picture of J2EE architecture.
1 JBOSS Enterprise Server Dimple Kaul & Nilabja Roy Vanderbilt University, Nashville,TN-37235
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)
정 재 웅 선임연구원 JEUS 2.0 소개 정 재 웅 선임연구원
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Enterprise JavaBeans 3.0. What is EJB 3.0 -Reusable server-side component framework-technology -Designed to support building demanding enterprise – level.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Copyright © 2002 ProsoftTraining. All rights reserved. Enterprise JavaBeans.
©NIIT Introducing Enterprise JavaBeans (EJB) Lesson 1A / Slide 1 of 43J2EE Server Components Objectives In this lesson, you will learn about: The features.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Enterprise JavaBeans. Lesson 1: Introduction to Server-Side Component Software.
EJB Enterprise Java Beans JAVA Enterprise Edition
2 목차 n WebLogic Architecture n J2EE Spec PreView n WebLogic Basic n Weblogic JDBC n Weblogic JNDI n Weblogic EJB Architecture n Weblogic EJB Deployment.
Apache Geronimo Open Source J2EE Application Server Getting up to speed with Apache Geronimo - Copyright 2005 Tom McQueeney 1 Getting up to speed with.
J2EE Lecture 10: EJB 3.0 Overview
Distributed System Using Java 2 Enterprise Edition (J2EE)
Enterprise Java Beans Bina Ramamurthy 1/13/2019 B.Ramamurthy.
Component-based Applications
Component Technology Bina Ramamurthy 2/25/2019 B.Ramamurthy.
Enterprise Java Beans Bina Ramamurthy 4/5/2019 B.Ramamurthy.
Seminarium on Component-based Software Engineering
Presentation transcript:

J2EE Overview

최근 동향 대용량 트랜잭션에 대한 처리 요구 증대 비즈니스 로직을 위한 새로운 티어의 추가 구성의 복잡성이 증대 가벼운 서버 가벼운 클라이언트 인터넷의 발달 표준 플랫폼의 필요성

Component Transaction Monitor Server-Side Component Model Business logic Business logic Services Services Naming Transactions Security Managed persistence Others …

J2EE (Java 2 Enterprise Edition) Business logic 정의 Services 구현 COS (Common Object Services) Naming: The naming service for CORBA applications; allows applications to store and access references to CORBA objects. DNS (Domain Name System): The Internet's naming service; maps people-friendly names (such as www.etcee.com) into computer-friendly IP (Internet Protocol) addresses in dotted-quad notation (207.69.175.36). Interestingly, DNS is a distributed naming service, meaning that the service and its underlying database is spread across many hosts on the Internet. LDAP (Lightweight Directory Access Protocol): Developed by the University of Michigan; as its name implies, it is a lightweight version of DAP (Directory Access Protocol), which in turn is part of X.500, a standard for network directory services. Currently, over 40 companies endorse LDAP. NIS (Network Information System) and NIS+: Network naming services developed by Sun Microsystems. Both allow users to access files and applications on any host with a single ID and password.

J2EE 플랫폼 호스팅 애플리케이션을 위한 런타임 인프라 구조 애플리케이션 구축을 위한 자바 확장 API 집합

J2EE Containers, Services Applet Container Component ? Database Management System JNDI RMI-IIOP Web Container EJB Container J2SE JMS JAAS JTA JCX JDBC JAXP JMS JAAS JTA JCX JDBC JAXP JAVA Mail JAF JAVA Mail JAF Sun Microsystems, in collaboration with other industry members, have defined a Component-Based Platform called J2EE (Java2 Enterprise Edition). Its specification is detailed at http://java.sun.com/j2ee. The J2EE platform promotes a component-based architecture; identifying four types of containers: an applet container, an application client container, a web container, and an ejb container. Each type of container is specialized for a particular architectural tier and therefore provides slightly different service sets. The applet container hosts applet components. The standard services available to an applet are JNDI and RMI-IIOP. The application client container hosts any type of Java class - not necessarily components. The standard services available from this container are JMS, JAAS, JAXP, JDBC, JNDI and RMI-IIOP. The web container hosts servlet and JSP components. Standard services available to these components are JTA, JAAS, JMS, JavaMail, JAF, JAXP, JDBC, JCX (Java Connectors), JNDI and RMI-IIOP. The ejb container hosts enterprise java bean components (session beans, entity beans and message-driven beans). The standard services available to these components is the same as for the web components. JCBC JAXP JAAS JMS JNDI RMI-IIOP JNDI RMI-IIOP Application Client Container J2SE J2SE JNDI RMI-IIOP J2SE

J2EE Components session beans entity beans message driven beans Application Client Container Applet Container Web Container EJB Container Database Management System JNDI RMI-IIOP J2SE JMS JAAS JTA JCX JDBC JAXP JCBC JAXP JAAS JMS JAVA Mail JAF session beans entity beans message driven beans servlets JSPs applets application clients The J2EE runtime environment defines the following application component types that a J2EE product must support: For the EJB container: Session Beans, Entity Beans, and Message-Driven Beans. Collectively, these components are simply referred to as Enterprise Java Beans (EJBs). They are intended to encapsulate the business logic for a J2EE application. For the web container: Servlets and JSPs. These components execute in a web server and are generally used to respond to HTTP requests from web clients. These components are typically used to generate HTML pages that form an application's user interface. They may also be used to generate XML or other format data that is consumed by other application components. For the applet container: Applets. These are GUI components that typically execute in a web browser, but can execute in a variety of other applications or devices that support the applet programming model. Applets can be used to provide a powerful user interface for J2EE applications. For the application container: Application clients. These are Java programming language programs that are typically GUI programs executing on a desktop computer. Application clients offer a user experience similar to that of native applications, and have access to all of the facilities of the J2EE middle tier. Specifically, they are defined as a class file containing a public static void main(String[]) method definition. J2EE applications generally span more than one architectural tier. For example, an application may have an interface implemented with web components and have a significant amount of business logic implemented with EJB components. Therefore, J2EE applications are typically composed of more than one type of component. Consequently, at runtime, there is often a lot of inter-container communication as well as intra-container communication between components. In each case, however, the application components never interact directly with other J2EE application components. They use the protocols and methods of the container for interacting with each other.

J2EE Component Deployment Modules Java component application.xml (deployment descriptor) Java module application-client.xml (deployment descriptor) web.xml (deployment descriptor) ejb-jar.xml (deployment descriptor) ra.xml (deployment descriptor) Web module EJB module RA module Web component EJB component RA component Resource Adapter module .ear file .jar file .war file .rar file J2EE Application module J2EE components are always deployed to containers in deployment modules. Atomic-type deployment modules (i.e. Java, Web, EJB and Resource Adapter modules) package one or more J2EE components of the same component type (web, EJB, application client, or Connector) together with - 1. a deployment descriptor. The descriptor consists of two XML files which describe various characteristics and properties of the component(s) and deployment module that are necessary during deployment. One file contains information standardized by J2EE; the other is a vendor specific file for information relevant to a particular vendor's J2EE platform. Examples of the information contained in a deployment descriptor include the names of the contained components, their types e.g. entity bean, session bean etc, their subtypes if applicable - e.g. stateless session bean, or stateful session bean. It may also include dependencies a component has on other components not included in the deployment module. In this case, such dependencies need to be resolved during the deployment process. 2. other software resources. J2EE components often rely on utility classes for some of their implementation. If such classes and libraries are not part of the standard J2SE platform, or available from the particular container, then they must be packaged and deployed with component. The deployment module allows such additional resources to be packaged with the component. 3. any documentation. A component provider may wish to include help files and usage documentation along with the software component. These can be packaged into the deployment module. There is a composite-type deployment module, the Application deployment module, which can be used to package modules together to form an application. Thus the J2EE module represents the only unit of composition for a J2EE application. Deployment modules are packaged as archive files. These files can be created using the Java archive tool - JAR, or by vendor supplied deployment tools. The archive filename suffix reflects the type of deployment module. Web archives must use .war; EJB archives must use .jar; Resource Adapter archives must use .rar; and Enterprise Application archives must use .ear.

J2EE Technologies RMI-IIOP JNDI JDBC JTA / JTS JMS EJB COS (Common Object Services) Naming: The naming service for CORBA applications; allows applications to store and access references to CORBA objects. DNS (Domain Name System): The Internet's naming service; maps people-friendly names (such as www.etcee.com) into computer-friendly IP (Internet Protocol) addresses in dotted-quad notation (207.69.175.36). Interestingly, DNS is a distributed naming service, meaning that the service and its underlying database is spread across many hosts on the Internet. LDAP (Lightweight Directory Access Protocol): Developed by the University of Michigan; as its name implies, it is a lightweight version of DAP (Directory Access Protocol), which in turn is part of X.500, a standard for network directory services. Currently, over 40 companies endorse LDAP. NIS (Network Information System) and NIS+: Network naming services developed by Sun Microsystems. Both allow users to access files and applications on any host with a single ID and password. JMS Server-Side Component Model EJB

EJB Overview

Enterprise Java Bean Multi-tier, cross-platform, 분산 객체 등을 지원하는 자바 애플리케이션을 개발하고 배치하기 위한 자바 컴포넌트 아키텍쳐 분산객체와 트랜잭션 프로세싱 모니터 기술의 접목 컴포넌트 트랜잭션 모니터에 대한 자바 server-side 컴포넌트 모델

Types of Enterprise Beans EJB Session Entity Message Stateful Stateless CMP BMP

Ingredients of an Enterprise JavaBean Type Definition 리모트 인터페이스 홈 인터페이스 빈 클래스 프라이머리 키 디플로이 디스크립터 EJB는 단일 단위로 묶인 자바 클래스들과 XML 파일의 집합체이다. 자바 클래스들은 정확한 규칙을 따라야 하고 콜백 메소드를 제공해야 한다.

Deployment Descriptor & if needed, make database table EJB Development Steps jar ejbc DDCreator Make Deployment Descriptor Define Your Component Code javac 1 2 3 4 5 6 Client Client Stub Implement Client javac Start the Client 10 11 9 Start the Server Server Deploy component on server & if needed, make database table 7 8

Evolution of EJB Standard EJB 1.0 defines: Session and entity beans Client and developer’s view of EJBs EJB roles EJB 1.1 Introduces declarative (XML-based) deployment descriptors EJB 2.0 Introduces message-driven beans Enriches and standardizes support for persistence of entity beans Complex database mapping, complex relationships Adds local interfaces Supports network interoperability among EJB servers Mandatory IIOP Since the first release (1.0) of the EJB standard in 1997, which specified the basic rules and assumptions for EJB architectures, the EJB specification has evolved. In revision 1.1, XML became the mandatory, standard language for defining EJB deployment descriptors. Several major changes were introduced in EJB 2.0: Message-driven beans were added. Standard support for persistence of entity beans were defined. This included the support for complex database mappings and complex relationships between entity beans. Local interfaces were defined. EJB container vendors were mandated to support the IIOP protocol.

EJB Container, Server EJB Container EJB Server 컴포넌트를 위한 실행환경 컨테이너를 위한 실행환경

Session, Entity Beans 클라이언트의 확장 다른 빈들과 상호 작용하는 작업이나 워크플로우를 구현 Session Bean Entity Bean 클라이언트의 확장 다른 빈들과 상호 작용하는 작업이나 워크플로우를 구현 퍼시스턴스를 가지며 사람,장소,물건 등을 나타낸다. 데이터베이스의 row와 1:1매핑

Stateful, Stateless Session Stateful Stateless 세션 상태가 저장됨 클라이언트 수 = Bean Instance수 클라이언트 컨텍스트가 관리됨 스와핑이 일어남 (상태가 저장됨) 세션 상태가 저장 안됨 하나의 Bean Instance가 여러 client에 대응 클라이언트 컨텍스트가 관리 안됨 스와핑이 일어나지 않음

Stateless Instance Life Cycle

Stateful Instance Life Cycle 메모리가 아닌 Secondary Storage로의 저장

CMP, BMP Entity CMP BMP EJB Container가 Bean의 Persistency관리 SQL구문에 대한 제어가 필요 없음 기능상의 제약을 가져올 수 있음 DB관련 optimization이 불가능 Persistency를 위한 코딩이 필요 SQL질의에 대한 제어가 가능 복잡한 기능 구현이 가능

Life Cycle of an Entity Instance

WSA Overview

Borland Enterprise Server The SMART Platform Web Enablement Integration and High speed Advanced Frameworks The World Market W3C OMG J2EE Web Edition VisiBroker AppServer

Borland Enterprise Server, Web Edition Borlandization QA & Support Open Source Apache Tomcat VisiBroker Web Engine Load balancing Fault-tolerance Failover

Borland Enterprise Server, Web Edition Tomcat JDataStore Pure O/R Java Database IIOP Open Source Apache Web Engine Stateful Session Management Database operations Web Edition Borland IDEs Console

Borland Enterprise Server, VisiBroker Edition Tomcat JDataStore Pure O/R Java Database VisiBroker C++ IIOP Web Engine Stateful Session Management Database operations Console Java Internet Firewall Gatekeeper Http/SOAP

Borland Enterprise Server, AppServer Edition Web Edition Borland Web Engine Tomcat AppServer Edition Servlets JSP™ RMI/IIOP™ JDBC™ Java IDL™ JavaMail™ JMS™ JNDI™ JTA™ JTS™ & JAF JAAS™ JAXP™ JCA™ Console VisiBroker Edition VisiBroker Java C++ J2EE 1.3 Complaint

Borland Enterprise Server, AppServer Edition Partitioning (ASAP) Partition Based Architecture Partitions = “virtual application servers” running within one server instance Applications can run securely and independently in a partition Applications can be scaled locally or across the net Applications can be individually managed The only architecture designed to run enterprise applications in production environments

Borland Enterprise Server – AppServer Edition Web Edition VisiBroker AppServer J2EE 1.3 Compliant Includes VisiBroker Edition; seamless integration of J2EE and CORBA services Enterprise Java Beans 2.0 Java Connector Architecture Java Messaging Service (via SonicMQ) Servlet 2.3 and JSP 1.2 support Java Authentication and Authorization Security Includes VisiBroker Edition

Borland Enterprise Server Web-WAS-DB구성 iPlanet Web Server Web Container Web Container Borland Enterprise Server JSP JSP Partition Partition Servlet Servlet EJB Container Client Beans Client Beans EJB EJB EJB EJB Container EJB EJB JDBC Data Base 장비 DBMS

Component의 종류 구체적 (도메인 종속적) Application Component(도메인 컴포넌트) 통합 개발 환경 Business Component(특정 비즈니스 컴포넌트) Business Component(공용 비즈니스 컴포넌트) Infrastructure Component(시스템 기반 서비스/유틸리티) 일반적 (범용적)

Q & A