©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

Welcome to Middleware Joseph Amrithraj
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 5 Architecture-Driven Component Development.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
JAVA Technology. Java Technology Java technology is a portfolio of products that are based on the power of networks and the idea that the same software.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
Design and Programming Patterns Associated with Java Networking by Margaret Toews cs843, Spring 2003.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
1 Build a Web Application on J2EE. 2 J2EE Scenario Client – Web Server – EIS Resources Client – Web Server – EIS Resources Client – Application Server.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
For more Lectures and Notes Visit
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
M.Sc. Course, Dept. of Informatics and Telecommunications, University of Athens S.Hadjiefthymiades “Web Application Servers” Basics on WAS WAS are necessary.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Session-01. What is a Servlet? Servlet can be described in many ways, depending on the context: 1.Servlet is a technology i.e. used to create web application.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
Understanding and Managing WebSphere V5
Web-based Software Development - An introduction.
Design Patterns Trends and Case Study John Hurst June 2005.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
OCM-JEE Introduction 7/4/13 - Jagadeesh Babu 1 TCS eMatrix CoE
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
Introduction to J2EE Architecture Portions by Kunal Mehta.
第十四章 J2EE 入门 Introduction What is J2EE ?
Enterprise Java v120131Intro to JavaEE1 Java EE 5 TM Introduction.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 6 Introduction to Distributed Computing Concepts.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 8 Implementing Java Programs.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
January 12, Introduction to Design Patterns Tim Burke References: –Gamma, Erich, et. al. (AKA, The Gang of Four). Design Patterns: Elements of Reusable.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
1 Welcome to CSC 301 Web Programming Charles Frank.
Session 1 Introduction to Java. Objectives Java Simplified / Session 1 / 2 of 32 Explain the history of Java Explain Java in brief List the types of Java.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Java Programming: Advanced Topics1 Introduction to Advanced Java Programming Chapter 1.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
1 Introduction to Java. 2 * 10% Assignments/ class participation * 10% Pop Quizzes * 05% Attendance * 25% Mid Term * 50% Final Term.
Glink for Java: applet, application and an API for integrating access to Bull, IBM, UNIX and Minitel systems with your Java based e-business applications.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
Java Application Development Services on Different Platforms.
Introduction to JAVA Programming
Business Applications– Using Java _____ Presented by Priya Saha.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
J2EE Platform Overview (Application Architecture)
Web-based Software Development - An introduction
The Object-Oriented Thought Process Chapter 15
What is WWW? The term WWW refers to the World Wide Web or simply the Web. The World Wide Web consists of all the public Web sites connected to the Internet.
Chapter 1 Introduction to Computers, Programs, and Java
Introduction to Advanced Java Programming
Design Patterns Introduction
Topic 10: Design Elements
MSIS 655 Advanced Business Applications Programming
Inventory of Distributed Computing Concepts
Component--based development
Java History, Editions, Version Features
Presentation transcript:

©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World

©2007 · Georges Merx and Ronald J. NormanSlide 2 Agenda Multi-tier architecture –Clients and servers Remote-Method Invocation (RMI)

©2007 · Georges Merx and Ronald J. NormanSlide 3 Multi-Tier Architecture (1) Most practical software applications today are divided into three (or more) architectural tiers with client and server software logically separated –The client tier provided the user interface –The server tier provides services to the client; it is often subdivided into additional service tiers, such as web server, application server, etc. –The third architectural tier is the database server tier: it provides information management services The server tiers may be distributed across multiple hardware systems, if the software was implemented for full scalability

(2)

©2007 · Georges Merx and Ronald J. NormanSlide 5 Java Packages A greater diversity of Java classes and packages are required to implement distributed functionality –Java 2 Enterprise Edition (J2EE) Java servlets Java Server Pages (JSPs) Enterprise Java Beans (EJBs) While these components add complexity and provide many new capabilities not covered in this text, in the end, this means just a broader collection of classes that follow now familiar object- oriented behavior patterns

©2007 · Georges Merx and Ronald J. NormanSlide 6 Learning Layout

©2007 · Georges Merx and Ronald J. NormanSlide 7 Learning Connections

©2007 · Georges Merx and Ronald J. NormanSlide 8 Reviewing Major Java Packages J2SE™ (Java 2 Platform, Standard Edition) – Desktop solutions for standalone applications and also for browser-based applets J2EE™ (Java 2 Platform, Enterprise Edition) – Enterprise solutions for eCommerce and eBusiness. For example, software developers may create server- side and client-side, large scale distributed applications, such as a web shopping cart application for an online retail site J2ME™ (Java 2 Platform, Micro Edition) – Used for resource-constrained consumer solutions for cell phones and other mobile devices (embedded solutions)

©2007 · Georges Merx and Ronald J. NormanSlide 9 Remote Method Invocation (RMI) (1) When an application follows the client-server model, the Java Remote Method Invocation (RMI) technology may be used –RMI is used when all components of a distributed application are developed in Java –CORBA support is also available in Java for integration of heterogeneous (java/non-Java), distributed application components

©2007 · Georges Merx and Ronald J. NormanSlide 10 Remote Method Invocation (RMI) (2)

©2007 · Georges Merx and Ronald J. NormanSlide 11 Java Applets The simplest form of a web-centric Java application is the Java applet An applet is a program written in Java, stored on a web server, and delivered via the user computer’s web browser, but otherwise logically very similar to a Java client application run on the client computer When a user runs a Java technology- enabled browser to view a web (HTML) page that contains an applet reference, the applet code is transferred to her system and executed by the Java Virtual Machine (JVM) embedded in the browser (assuming appropriate security permissions)

©2007 · Georges Merx and Ronald J. NormanSlide 12 Applet Example

©2007 · Georges Merx and Ronald J. NormanSlide 13 Distributed Computing Technologies The technologies participating in web-centric applications and their development include: –Web services, e.g. Apache HTTP Server –Application services, e.g. JBoss, IBM Websphere, BEA Weblogic, Borland Enterprise Server, Microsoft Internet Information Server (IIS), Tomcat –J2EE (servlets, JavaServer Pages, Enterprise Java Beans, JavaServer Faces) –XML and SOAP

©2007 · Georges Merx and Ronald J. NormanSlide 14 Design Patterns Origins: field of architecture | patterns in designing buildings and towns - Christopher Alexander: –“Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solution a million times over, without ever doing it the same way twice.” In software engineering, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (“The Gang of Four”) applied Alexander’s principles to software design –“Solution to a problem in a context”

©2007 · Georges Merx and Ronald J. NormanSlide 15 Definition A design pattern names, abstracts, and identifies the key aspects of a common design structure that make it useful for creating a reusable object-oriented design. (GOF)

©2007 · Georges Merx and Ronald J. NormanSlide 16 Pattern Elements Pattern name –Design vocabulary –“Handle” for communication Problem description –Context, pattern target Solution description –Abstract description of design elements Consequences –Results, trade-offs from the pattern applications

©2007 · Georges Merx and Ronald J. NormanSlide 17 Purpose Name, explain, and standardize important and recurring design patterns in object-oriented systems –Easier to successfully reuse previous designs and architectures –Expressed patterns are more accessible to more developers –Improved documentation and training –Easier maintenance The choice of language is important –Smalltalk, C++, C#, and Java support object-oriented design patterns

©2007 · Georges Merx and Ronald J. NormanSlide 18 Pattern Description Pattern descriptions follow a consistent format –Pattern Name and Classification –Intent –Also Known As –Motivation –Applicability –Structure –Participants –Collaborations –Consequences –Implementation –Sample Code –Known Uses –Related Patterns

©2007 · Georges Merx and Ronald J. NormanSlide 19 Types of Patterns Purpose –Creational –Structural –Behavioral Scope –Classes Applies primarily to class relationships –Objects Most patterns are in the object scope

©2007 · Georges Merx and Ronald J. NormanSlide 20 Some of the Most Popular Patterns

©2007 · Georges Merx and Ronald J. NormanSlide 21 Generic Methods The most recent release of the Java Software Development Kit, J2SE SDK 5.0, added support for generic methods and classes –Generics further support polymorphism by enabling a generic code component to determine safely at runtime what the type of a parameter is and to handle it accordingly

©2007 · Georges Merx and Ronald J. NormanSlide 22 Position in Process the supporting disciplines, here Project Management, span the entire life cycle, albeit with varying intensity across the spectrum of iterations The need for smart and flexible project management is critical in completing quality projects on time, on budget, and according to stakeholder requirements

©2007 · Georges Merx and Ronald J. NormanSlide 23 Macro/Micro-Level Project Planning

©2007 · Georges Merx and Ronald J. NormanSlide 24 Macro-Level Plan using Microsoft Project®

©2007 · Georges Merx and Ronald J. NormanSlide 25 Example Agile Project Management Tool: xProcess® Copyright IVIS/Andy Carmichael