Java-technology based projects



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

What Is the Java TM 2 Platform, Enterprise Edition?

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

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

White paper. IBM WebSphere Application Server architecture

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

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

Implementation of an Enterprise-level Groupware System Based on J2EE Platform and WebDAV Protocol

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

Agenda. Java Features Review. Extreme Java G Session 1 - Main Theme Introducing Extreme Java

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

Enterprise Application Integration

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

Enabling the Information Age

WebSphere Server Administration Course

IBM WebSphere Server Administration

Glassfish, JAVA EE, Servlets, JSP, EJB

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

Architecture Design For Web-based Application Systems. Instructor: Dr. Jerry Gao Class: CMPE296U

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

CS Developing Web Applications with Java Technologies

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

The Enterprise Service Bus

The Comparison of J2EE and.net for e-business

era J2EE Platform and Tool Recommendations

Detailed Table of Contents

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

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

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

Layering a computing infrastructure. Middleware. The new infrastructure: middleware. Spanning layer. Middleware objectives. The new infrastructure

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Java Project Management. Java Project Management: Agenda. Extreme Java G

Enterprise Integration Architectures for the Financial Services and Insurance Industries

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

Elements of Advanced Java Programming

C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

Basic TCP/IP networking knowledge of client/server concepts Basic Linux commands and desktop navigation (if don't know we will cover it )

WebSphere Training Outline

Oracle WebLogic Server 11g Administration

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Understanding Application Servers

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

B. WEB APPLICATION ARCHITECTURE MODELS

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

Chapter 6. CORBA-based Architecture. 6.1 Introduction to CORBA 6.2 CORBA-IDL 6.3 Designing CORBA Systems 6.4 Implementing CORBA Applications

Introduction to Sun ONE Application Server 7

Java Project Management: Agenda

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Virtual Credit Card Processing System

Performance Comparison of Java Application Servers

zen Platform technical white paper

JEE Web Applications Jeff Zhuk

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

Web Application Architecture (based J2EE 1.4 Tutorial)

Oracle WebLogic Server 11g: Administration Essentials

Middleware Lou Somers

-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

COM 440 Distributed Systems Project List Summary

Distributed Objects and Components

PERFORMANCE MONITORING OF JAVA COMPONENT-ORIENTED DISTRIBUTED APPLICATIONS

.NET and J2EE Intro to Software Engineering

i-flow Architecture White Paper

WebSphere Product Family Overview

Modern Software Development Tools on OpenVMS

Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies

Client/server is a network architecture that divides functions into client and server

E-Commerce Systems Technology Infrastructure

An introduction to SOA and the HP NonStop server environment

Framework Adoption for Java Enterprise Application Development

Web Services and Application Frameworks (.NET and J2EE)

ON-LINE BOOKING APPLICATION NEIL TAIT

ICS 434 Advanced Database Systems

Learn Oracle WebLogic Server 12c Administration For Middleware Administrators

Java Server Programming: Principles and Technologies. Subrahmanyam Allamaraju, Ph.D.

WebLogic Server 7.0 Single Sign-On: An Overview

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

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Sun Microsystems Inc. Java Transaction Service (JTS)

Architectural Overview

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

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

RNM Reply Network Manager

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

A framework for web-based product data management using J2EE

Transcription:

Java-technology based projects TietoEnator Corporation Oyj Simo Vuorinen simo.vuorinen@tietoenator.com 1 TietoEnator 2000

Agenda Java: language, architecture, platform? Javan promises and problems Enterprise-APIs Java-component architectures: JavaBeans and EJB Application servers Experiences and experiments Close-up and future visions 2 TietoEnator 2000

Java: language, architecture, platform? Programming language: Easy-to-use object-oriented programming language, which has been cleaned of features that used to cause problems in C and C++. Designed for Internet- and WWW-use. Via Web-browser Java gives the possibility to use applications from anywhere in the world. Java is distributed, interpreted architecture- and platform-neutral programming language that can be used in addition to traditional application building also applets (small applications running in WWW-browser). Applets can be downloaded over the network from anywhere in the world. 3 TietoEnator 2000

Java: language, architecture, platform? Architecture generally: Architecture (application architecture, system architecture) defines the guidelines, which together help to achieve the information system goals without the need for ad hoc-compromises during the implementation of the system. Architecture defines general usability performance and scalability availability and robustiness security Logical Logical architecture Architecture Technical architecture Architecture can be divided into logical architecture: what is to be done; db-, UI-, bl-services and utilities technical architecture: with what tools; os, db, mw, development tools 4 TietoEnator 2000

Java: language, architecture, platform? JavaOS Logical Logical Architecture JECF JECF Business logic Business logic Technical Architecture Java WebServer Java WebServer Java Application Server Java Application Server Java Enterprise APIs Java Enterprise APIs 5 TietoEnator 2000

TP HTTP Server HTTP JDBC HTTP RMI JDBC TietoEnator Presentation Version: 1.4 Java Architectural Layers Data Management Business Logic Presentation Navigation Legacy TCP/IP MW (transport) Java Application Server (JAS) IIOP DATA DB logic DB TCP/IP JDBC J/SQL IIOP Sockets Servlets JSP EJB JTS RMI IIOP HTTP Java, HTML + JavaOS: 400 % Pure? DATA DB DB TCP/IP IIOP Java App. 300 % Pure 200 % Pure 100 % Pure 6 TietoEnator 2000

Java-platforms 7 TietoEnator 2000

Where does Java run? 8 TietoEnator 2000

Java s promises and problems Ease of use Feature richness Desktop-features Performance Matureness 9 TietoEnator 2000

Java s promises and problems WWW: Applets more functionality real applications in WWW write once, run anywhere Problems with firewalls problems with browsers and their versions applets tend to be big; downloading is slow 10 TietoEnator 2000

Java s promises and problems Java-applications Same application runs anywhere that you can find a VM Programmers don t make as many errors as they used to made network-ready threads are easily implemented Interpreting slows down the application Critical real-time-applications require good memory management; GC is in important role desktop features have been deficient for enterprise usage; printing, drag-drop, db-handling 11 TietoEnator 2000

Java s performance Java s promises and problems Has been slow But is getting better JIT-compilers native compilers HotSpot 14 12 10 8 6 4 2 0 Demo JavaOne: Sym JIT IE4 C++ HotSpot 12 TietoEnator 2000

Version: 1.0 Java Enterprise-APIs Client Java Beans components IIOP, other protocols HTML JSP/Servlets Enterprise Java Beans components Server Platform JTS JavaMail JNDI JIDL JMS JDBC RMI-IIOP 13 TietoEnator 2000

Enterprise JavaBeans Architecture Java Enterprise-APIs The Enterprise JavaBeans specification defines an API that will make it easy for developers to create, deploy and manage cross-platform, component-based enterprise applications that work within the framework of the systems currently in use. JavaServer Pages JavaServer Pages combines easy-to-use server-side tags with the power of JavaBeans TM components to provide a solution that cleanly separates the presentation of dynamic content from the generation of that content. Neutral to development platforms and Web servers, it's a Write Once, Run Anywhere TM solution. Java Servlet Java Servlet provides a uniform, industry-supported interface for extending a web server with cross-platform and cross-server components written in the Java Programming Language. Java Naming and Directory Interface Provides uniform, industry-standard, seamless connectivity from the Java platform to business information assets, thus allowing developers to deliver Java applications with unified access to multiple naming and directory services across the enterprise. Java Interface Definition Language (IDL) Provides interoperability with CORBA, the industry standard for heterogeneous computing. Java IDL includes an IDL-to-Java compiler and a lightweight ORB that supports IIOP. 14 TietoEnator 2000

Java Enterprise-APIs JDBC Provides programmers with a uniform interface to a wide range of relational databases, and provides a common base on which higher-level tools and interfaces can be built. Java Message Service (JMS) The Java Message Service specification provides developers with a standard Java API for enterprise messaging services such as reliable queuing, publish and subscribe communication and various aspects of push/pull technologies. Java Transaction (JTA) Java Transaction API (JTA) defines a high-level transaction management specification intended for resource managers and transactional applications in distributed transaction systems. Java Transaction Service (JTS) The Java Transaction Service (JTS) API technology ensures interoperability with sophisticated transaction resources such as transactional application programs, resource managers, transaction processing monitors and transaction managers. Since these components are provided by different vendors, JTS provides open, standard access to these transaction resources. 15 TietoEnator 2000

Java Enterprise-APIs JavaMail The JavaMail API provides a set of abstract classes that models a mail system. The API is meant to provide a platform independent and protocol independent framework to build Java-based mail and messaging applications. RMI/IIOP RMI-IIOP provides developers an implementation of the Java RMI API over the Object Management Group's industry-standard Internet Inter-Orb Protocol (IIOP). With it, developers can write remote interfaces between clients and servers, and implement them just using Java technology and the Java RMI APIs. 16 TietoEnator 2000

Java-components: JavaBeans and EJB JavaBeans (Client-component architecture): JavaBeans-component is composed of three parts: Properties Methods Events MyBean getxxx setxxx dostuff() fireevent(event ev) Register Event Listener Fire Event Event Object SomeClass 17 TietoEnator 2000

Java-components: EJB Version: 1.0 J2EE Server Java Clients Web Container EJB Container EJB Clients: - Client access is controlled by the container - EJB s are located through JNDI - RMI and CORBA are means of accessing a bean over a network Web Container: - Runtime Environment for JSP and servlets J2EE Server: - Naming and Directory - Authentication - HTTP -- EJB EJB Container: - Runtime Environment for an EJB - Transaction mgmt. - Security - Remote client connectivity - Life cycle mgmt. - DB Connection Pool EJB Components - Specialized Java class - Distributed over a net - Transactional & Secure - Server vendor tools provide: distribution, transaction, security 18 TietoEnator 2000 / Versio: 1.1

WRAP JDBC HTTP Server TietoEnator Presentation BEA WebLogic Enterprise Version: 1.4 Data Services / Logic Client Legacy M3 (OTM) WebLogic Application IIOP Application EJB EJB COM CORBA RMI IIOP Java DATA CORBA DB TCP/IP Tuxedo Application Servlets JOLT DCOM ActiveX, COM DATA DB Application Application Clustering JTS, JNDI, RMI, HTTP HTML 19 TietoEnator 2000

HTTP Server TietoEnator Presentation CASE: Jaguar CTS Version: 1.1 Data Application Layer Jaguar CTS Business Logic Layer (Java Classes) TDS Service Layer JagDBAction Client DATA getcomp DB Oracle DB JDBC DBTransactionC HTTP DBAction GUI Layer (Java) BugInfoapplet 20 TietoEnator 2000 / Versio: 1.1

JDBC HTTP Server TietoEnator Presentation CASE: Servlets and Java Version: 1.1 Data Application Layer Client DB Layer (Java Classes) Business Logic Layer (Java Classes) Service Layer (Servlets) Collector HTTP DATA DB TCP/IP WFService M2User Servlets HTML FileNet GUI Layer (Java) DATA DB Oracle DB TCP/IP M2DB M2Html Gen 21 TietoEnator 2000 / Versio: 1.1

Version: 1.0 What does Java offer? Client-component architecture (JavaBeans) Server- component architecture (EJB) 4 different Java-application environments 11 enterprise-apis 8 core-apis(jfc, Security, JavaBeans, 2D,...) lot of extensions, frameworks, etc. Platform-neutrality in reasonable scale 22 TietoEnator 2000

Version: 1.0 Where can Java be chosen? BL requires integration with Internet-technology Old systems C/C++ Client-Server-systems application is meant to be deployed on more than one platform 23 TietoEnator 2000

Version: 1.0 When not to choose Java? System is complex, business-critical and must be in production in six months Lot of integration is needed with legacy-systems Existing 3rd-party products fill the need 24 TietoEnator 2000

Version: 1.0 Mistakes in WWW-technology projects can be caused by: Lack of Internet- and WWW-knowledge Too big of a desire of experimenting new tech Lack of knowledge in Internet security Not making a proof-of-concept Not testing enough: profiling, load testing, etc. Lack of inspections Lack of architecture lining 25 TietoEnator 2000

Version: 1.0 Mistakes in Java-technology projects can be caused by: Component recognizing C-style, procedural programming Disregarding internal security Complex object-object relations Mixing objects with components 26 TietoEnator 2000