EJB in the real world

Similar documents
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

Component Middleware. Sophie Chabridon. INT - INF Department - Distributed Systems team 2006

JBoss JEE5 with EJB3.0 on NonStop. JAVA SIG, San Jose

ActiveVOS Server Architecture. March 2009

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Java EE 7: Back-End Server Application Development

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Enterprise Application Integration

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Glassfish, JAVA EE, Servlets, JSP, EJB

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

This presentation will provide a brief introduction to Rational Application Developer V7.5.

JBS-102: Jboss Application Server Administration. Course Length: 4 days

JBOSS ENTERPRISE APPLICATION PLATFORM MIGRATION GUIDELINES

JBoss EntErprisE ApplicAtion platform migration guidelines

Java EE 6 development with Eclipse, Netbeans, IntelliJ and GlassFish. Ludovic Champenois Oracle Corporation

WebSphere Training Outline

Converting Java EE Applications into OSGi Applications

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

Portals, Portlets & Liferay Platform

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Java Platform, Enterprise Edition (Java EE) From Yes-M Systems LLC Length: Approx 3 weeks/30 hours Audience: Students with experience in Java SE

CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

GlassFish Security. open source community experience distilled. security measures. Secure your GlassFish installation, Web applications,

Performance Comparison of Java Application Servers

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Mike Boyarski Jaspersoft Product Marketing Business Intelligence in the Cloud

Announcements. Comments on project proposals will go out by in next couple of days...

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

HPC Portal Development Platform with E-Business and HPC Portlets

The Enterprise Java Internet Provider

JAVA/J2EE DEVELOPER RESUME

Reusing Existing * Java EE Applications from Oracle SOA Suite

JEE Web Applications Jeff Zhuk

White paper. IBM WebSphere Application Server architecture

Web and Enterprise Applications Developer Track

Framework Adoption for Java Enterprise Application Development

New Methods for Performance Monitoring of J2EE Application Servers

CONSUMER DEMAND MONITORING AND SALES FORECASTING (CDMFS) SYSTEM

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes

MagDiSoft Web Solutions Office No. 102, Bramha Majestic, NIBM Road Kondhwa, Pune Tel: /

HPC PORTAL DEVELOPMENT PLATFORM

CrownPeak Java Web Hosting. Version 0.20

Enterprise Applications

Implementing the Shop with EJB

Enterprise JavaBeans' Future: Getting Simpler, More Ubiquitous, but Not Dominant

Das Spring Framework - Einführung in leichtgewichtige J2EE Architektur. Jürgen Höller. Organized by:

ITG Software Engineering

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

COM 440 Distributed Systems Project List Summary

Enterprise JavaBeans 3.1

Tri-Force Consulting Services, Inc. Case Studies

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

PRACTICAL ADF APPLICATION DEPLOYMENT FOR FUSION MIDDLEWARE ADMINISTRATORS

WebSphere Product Family Overview

WebSphere Server Administration Course

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Bryan Tuft Sr. Sales Consultant Global Embedded Business Unit

Long haul product development

WHITE PAPER. Domo Advanced Architecture

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

How To Develop A Web Service In A Microsoft J2Ee (Java) 2.5 (Oracle) 2-Year Old (Orcient) 2Dj (Oracles) 2E (Orca) 2Gj (J

applications. JBoss Enterprise Application Platform

B. WEB APPLICATION ARCHITECTURE MODELS

FACULTY INFORMATION SYSTEM BASED ON OPEN SOURCE TECHNOLOGIES

Deploying Rule Applications

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

Flux 7.7, January 20, 2009

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

OpenShift is FanPaaStic For Java EE. By Shekhar Gulati Promo Code JUDCON.IN

IBM WebSphere Server Administration

Oracle Weblogic. Setup, Configuration, Tuning, and Considerations. Presented by: Michael Hogan Sr. Technical Consultant at Enkitec

IBM Rational Rapid Developer Components & Web Services

Java-technology based projects

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models

Pentaho Reporting Overview

Building Clustered Enterprise Applications

Oracle Fusion Middleware 11g R1 - Weblogic Server for System z. Marc Connolly Technical Development Director

What Is the Java TM 2 Platform, Enterprise Edition?

Oracle Business Activity Monitoring 11g New Features

CTMS/CTIS INTEGRATION Contract Routing No. 04 HAA 00063

EclipseLink. Solutions Guide for EclipseLink Release 2.5

IBM Rational Web Developer for WebSphere Software Version 6.0

How To Protect Your Computer From Being Hacked On A J2Ee Application (J2Ee) On A Pc Or Macbook Or Macintosh (Jvee) On An Ipo (J 2Ee) (Jpe) On Pc Or

White Paper: Why Upgrade from WebSphere Application Server (WAS) v7 to v8.x?

ILOG JRules Performance Analysis and Capacity Planning

Weblogic 12c: Mastering The Cloud Foundation. Patrick Dewael & Kristof Satory

JBoss SOAP Web Services User Guide. Version: M5

Core J2EE Patterns, Frameworks and Micro Architectures

Tuning Your GlassFish Performance Tips. Deep Singh Enterprise Java Performance Team Sun Microsystems, Inc.

Prabhat Jha. JBoss, a division of Red Hat. Tuesday, March 25th 2008

Configuration Management of Massively Scalable Systems

What's New in ActiveVOS 7.0

Transcription:

Computas AS kunnskap system EJB in the real world INF5040 2007-09-27 Geir Arne Waagbø Slide 1 27.09.2007

Master s degree Computer Science, NTH 1990 PhD Mathematics, UiO 1997 Employed by Computas since 1997 Worked with Java technology since 1998 Worked with EJB since 2000 Slide 2 27.09.2007

Agenda Enterprise applications what is it? Why use an EJB-server? Java, EJB, and JEE JEE Java Enterprise Editon EJB in some detail EJB 2.1 vs EJB 3.0 Some examples Slide 3

Enterprise applications Business applications both in the private and the public sector Online shopping Order entry and billing Personnel and payroll Case handling and workflow... What is not: Embedded software Games Operating systems etc Engineering software Word processors, spreadsheets,...... Slide 4 27.09.2007

Enterprise applications Lots of persistent data Large relational database (>100GB) Lots of simultaneous users (>1000) Web clients Desktop clients OLTP Online Transaction Processing The opposite OLAP Online Analytical Processing (or BI Business Intelligence) Integration with other systems Slide 5 27.09.2007

Problems Security: All clients have database connections Web clients: sql-injection No such thing as client side security Performance Connection pooling Network Transactions Client code and business logic Integration: Let other systems use the database? Slide 7 27.09.2007

Java, EJB and JEE Java programming language In the same way as C#, C++,... Java technology platform In the same way as.net Can use other programming languages! JEE Java Enterprise Edition Slide 9 27.09.2007

JEE - Java Enterprise Edition Before it was called J2EE EJB Enterprise Java Beans API-specifications: JDBC, JMS, RMI,... Web container Servlets, JSP - Java Server Pages and JSF Java Server Faces Portlets Slide 10 27.09.2007

JEE Products JBoss (open source) IBM WebSphere BEA WebLogic Oracle Application Server (OC4J) Sun Glassfish In theory applications should be portable between products Slide 11 27.09.2007

EJB Enterprise Java Beans EJB is an API + specification EJB runtime Java VM EJB Container Current version: EJB 3.0 Slide 12 27.09.2007

Services provided by the EJB Container Remoting RMI (Remote method invocation) Transactions Persistence JNDI Java naming and directory services Security JAAS Java authentication and authorization services LDAP-integration Resource pooling Deployment Slide 13 27.09.2007

Types of EJBs Session Beans (Stateless) Remoting Transaction demarcation Can be exposed as web services Entity Beans O/R-Mapping Persistence Message Driven Beans Typically used for asynchronous interfaces Slide 14 27.09.2007

Transactions As for databases ACID Atomicity (all or nothing) Consistency (the state is consistent) Isolation (isolated from other users) Durability (the data is stored) Distributed transactions Slide 16 27.09.2007

Persistence Entity Beans - databases EJB-servers always used in conjunction with a relational database MySQL (open source) Hypersonic (bundled with JBoss) IBM DB2, Oracle, MS SQLServer Entity Beans O/R-Mapping Slide 17 27.09.2007

Connection pooling A database connection is expensive Literally! Requires lots of system resources Takes time to establish Therefore: Use a pool Closing a connection returns it to the pool The same pattern can be used for other kinds of resources as well Slide 18 27.09.2007

EJB 2.1 EJB-classes had to implement specific interfaces Deployment descriptors, xml-files that describe: Transactional properties O/R-mapping Example: EJBOrgUnitBean Slide 19 27.09.2007

EJB 3.0 Instead of deployment descriptors: Annotations No interfaces needs to be implemented Annotated POJOs can be container managed! Java Persistence API JBoss uses Hibernate to implement EJB 3.0 Example: Person Slide 20 27.09.2007

Benefits of EJB 3.0 Defaults Ease of development Can use POJOs Possible to write unit tests Can do without xml deployment descriptors Fewer artifacts Slide 21 27.09.2007

Some advice Use some caching A client needs just one JNDI-context Don t duplicate code! Getting the JNDI-context Getting a database connection Handling exceptions Use try... finally... when accessing resources Slide 22 27.09.2007