Top Banner
Bayu Priyambadha, S.Kom
31

Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Dec 27, 2015

Download

Documents

Willis Fisher
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Bayu Priyambadha, S.Kom

Page 2: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

What is J2EE?

Page 3: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

* Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric, and component-based enterprise applications

Page 4: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Things that make up an enterprise application

*Presentation logic

*Business logic

*Data access logic (and data model)

*System services

*The evolution of enterprise application framework reflects

*How flexibly you want to make changes

*Where the system services are coming from

Page 5: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

High-EndServer

Java Technology Enabled Desktop

WorkgroupServer

Java Technology Enabled Devices

Page 6: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

OptionalPackages

Java 2Enterprise

Edition(J2EE)

Java 2StandardEdition(J2SE)

JVM

Java Card APIs

CardVM

OptionalPackages

Personal Basis Profile

Personal Profile

Foundation Profile

CDC

MIDP

CLDC

KVM

Java 2 Platform Micro Edition(J2METM)

* Under development in JCP

Page 7: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Evolution ofEvolution ofEnterprise ApplicationEnterprise Application

FrameworksFrameworks

Page 8: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Single tier

*Two tier

*Three tier *RPC based

*Remote object based

*Three tier (HTML browser and Web server)

*Proprietary application server

*Standard application server

Page 9: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Dumb terminals are directly connected to mainframe

*Centralized model (as opposed distributed model)

*Presentation, business logic, and data access are intertwined in one monolithic mainframe application

Page 10: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Pros:

*No client side management is required

*Data consistency is easy to achieve

*Cons:

*Functionality (presentation, data model, business logic) intertwined, difficult for updates and maintenance and code reuse

Page 11: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Fat clients talking to back end database

*SQL queries sent, raw data returned

*Presentation,Business logic and Data Model processing logic in client application

Database

SQL request

SQL response

Page 12: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Pro:

*DB product independence (compared to single-tier model)

*Cons:

*Presentation, data model, business logic are intertwined (at client side), difficult for updates and maintenance

*Data Model is “tightly coupled” to every client: If DB Schema changes, all clients break

*Updates have to be deployed to all clients making System maintenance nightmare

*DB connection for every client, thus difficult to scale

*Raw data transferred to client for processing causes high network traffic

Page 13: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Thinner client: business & data model separated from presentation

*Business logic and data access logic reside in middle tier server while client handles presentation

*Middle tier server is now required to handle system services

*Concurrency control, threading, transaction, security, persistence, multiplexing, performance, etc.

Database

SQL request

SQL response

RPC response

RPC request

Page 14: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Pro:

*Business logic can change more flexibly than 2-tier model

*Most business logic reside in the middle-tier server

*Cons:

*Complexity is introduced in the middle-tier server

*Client and middle-tier server is more tightly-coupled (than the three-tier object based model)

*Code is not really reusable (compared to object model based)

Page 15: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Business logic and data model captured in objects– Business logic and data model are now described

in “abstraction” (interface language)

*Object models used: CORBA, RMI, DCOM

* Interface language in CORBA is IDL

* Interface language in RMI is Java interface

Database

SQL requestSQL response

Object response

Object request

Page 16: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Pro:

*More loosely coupled than RPC model

*Code could be more reusable

*Cons:

*Complexity in the middle-tier still need to be addressed

Page 17: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Browser handles presentation logic

*Browser talks Web server via HTTP protocol

*Business logic and data model are handled by “dynamic contents generation” technologies (CGI, Servlet/JSP, ASP)

Database

SQL request

SQL response

HTML response

WEB Server

HTML request

Page 18: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Pro:

*Ubiquitous client types

*Zero client management

*Support various client devices

* J2ME-enabled cell-phones

*Cons:

*Complexity in the middle-tier still need to be addressed

Page 19: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Moving from single-tier or two-tier to multi-tier architecture

*Moving from monolithic model to object-based application model

*Moving from application-based client to HTML-based client

Page 20: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Multi-tier

No separation among presentation, business logic, database

Hard to maintain

Separation among presentation, business logic, database

More flexible to change, i.e. presentation can change without affecting other tiers

Single tier

Page 21: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Object-based

1 Binary file Recompiled,

relinked, redeployed every time there is a change

Pluggable parts Reusable Enables better

design Easier update Implementation

can be separated from interface

Only interface is published

Monolithic

Page 22: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

Why J2EE?Why J2EE?

Page 23: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Can use any J2EE implementation for development and deployment *Use production-quality standard implementation which is

free for development/deployment

*Use high-end commercial J2EE products for scalability and fault-tolerance

*Vast amount of J2EE community resources*Many J2EE related books, articles, tutorials, quality code

you can use, best practice guidelines, design patterns etc.

*Can use off-the-shelf 3rd-party business components

Page 24: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Vendors work together on specifications and then compete in implementations

*In the areas of Scalability, Performance, Reliability, Availability, Management and development tools, and so on

*Freedom to innovate while maintaining the portability of applications

*Do not have create/maintain their own proprietary APIs

Page 25: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Application portability

*Many implementation choices are possible based on various requirements

*Price (free to high-end), scalability (single CPU to clustered model), reliability, performance, tools, and more

*Best of breed of applications and platforms

*Large developer pool

Page 26: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

JEE APIs &JEE APIs &TechnologiesTechnologies

Page 27: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Java API for RESTful Web Services (JAX-RS) 1.1

*Implementing Enterprise Web Services 1.3

*Java API for XML-Based Web Services (JAX-WS) 2.2

*Java Architecture for XML Binding (JAXB) 2.2

*Web Services Metadata for the Java Platform

*Java API for XML-Based RPC (JAX-RPC) 1.1

*Java APIs for XML Messaging 1.3

*Java API for XML Registries (JAXR) 1.0

Page 28: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Java Servlet 3.0

*JavaServer Faces 2.0

*JavaServer Pages 2.2/Expression Language 2.2 Standard Tag Library for JavaServer Pages (JSTL)

*Debugging Support for Other Languages 1.0

Page 29: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Contexts and Dependency Injection for Java (Web Beans 1.0)

*Dependency Injection for Java 1.0

*Bean Validation 1.0

*Enterprise JavaBeans 3.1

*(includes Interceptors 1.1)

*Java EE Connector Architecture 1.6

*Java Persistence 2.0

*Common Annotations for the Java Platform 1.1

*Java Message Service API 1.1

*Java Transaction API (JTA) 1.1

*JavaMail 1.4

Page 30: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,

*Java Authentication Service Provider Interface for Containers

*Java Authorization Contract for Containers 1.3

*Java EE Application Deployment 1.2

*J2EE Management 1.1

*Java EE-related Specs in Java SE

*Java API for XML Processing (JAXP) 1.3

*Java Database Connectivity 4.0

*Java Management Extensions (JMX) 2.0

*JavaBeans Activation Framework (JAF) 1.1

*Streaming API for XML (StAX) 1.0

Page 31: Bayu Priyambadha, S.Kom. What is J2EE? * Open and standard based platform for developing, deploying and managing n-tier, Web-enabled, server-centric,