Client and Server Design J2EE Steps In. What now? At this point, you understand how to design servers and how to design clients But how do you put them.

Slides:



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

Technical Architectures
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Course Map The Java Programming Language Basics Object-Oriented Programming Exception Handling Graphical User Interfaces and Applets Multithreading Communications.
The Architecture of Transaction Processing Systems
JMS Java Message Service Instructor Professor: Charles Tappert By Student: Amr Fouda.
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)
Chapter 9: The Client/Server Database Environment
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
Nikolaos Korfiatis The Java 2 Enterprise Edition Platform Dept. of Management & Technology-Athens University of Economics and Business Java 2 Platform.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
The Component Dilemma Handicaps of Component Architectures in Commercial Information Systems Michael Löwe IDPT 2002.
CS6320 – J2EE L. Grewe MOTIVATION: E-commerce and Enterprise Computing Models Four models for e-commerce and enterprise computing: Four models for e-commerce.
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Phil Brewster  One of the first steps – identify the proper data types  Decide how data (in columns) should be stored and used.
Web-based Software Development - An introduction.
N-Tier Architecture.
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
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.
PowerTier EJB in High-Performance Applications John Killoran European Technical Services Manager Persistence Software.
Glink: GCOS e-business in an application server architecture Summit 2000, Jim Gallagher.
Ing. Ignacio Roqueta ARTech GeneXus and J2EE.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
Modern Software Technologies Java™, J2EE™, JSP™, JDBC™ by Radoslav Tr. Ivanov
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Enterprise Java Beans Part I Kyungmin Cho 2001/04/10.
Moving the RFID Value Chain Value Proposition Cost and Complexity What is it? (passive RFID) Where is it? (active RFID) How is it? (Sensors) Adapt to it.
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.
第十四章 J2EE 入门 Introduction What is J2EE ?
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Applications Web et bases de données en grappe Séminaire InTech 3 Février 2005 – Grenoble.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
1 Java EE Programming Enterprise JavaBeans. 2 Topics J2EE Overview Enterprise JavaBeans Overview Enterprise Entity Beans Case Study How to build them.
Types/Levels of Integration Chao-Hsien Chu, Ph.D. School of Information Sciences and Technology The Pennsylvania State University Presentation Data Functional.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
© 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.
Basics of JDBC Session 14.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
JDBC Chapter 1 JDBC Introduction
Alan L. Batongbacal CS 4244 / 01 Nov 2000
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.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
J2EE Platform Overview (Application Architecture)
Web-based Software Development - An introduction
DEPTT. OF COMP. SC & APPLICATIONS
Web Application Components
The Client/Server Database Environment
The Client/Server Database Environment
Chapter 9: The Client/Server Database Environment
Introduction to J2EE Architecture
Web-Services-based Systems Architecture, Design and Implementation
Distributed System Using Java 2 Enterprise Edition (J2EE)
Komponentbasert utvikling Den sanne objektorientering
Web Application Server 2001/3/27 Kang, Seungwoo. Web Application Server A class of middleware Speeding application development Strategic platform for.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Presentation transcript:

Client and Server Design J2EE Steps In

What now? At this point, you understand how to design servers and how to design clients But how do you put them together? Where do you draw the line? What goes in the client and what goes in the server? How many servers? How many forms of client?

Difficult Questions Every imaginable design is used Focus first on the most prevalent The evolution was just that Consider –distributed for redundancy and scalability –objects for reusability and adaptability –web to insulate from the platform (os/hardware)

Incremental Incremental design/development is one of the tenets of design in a software system. Using an environment which does as much for you as possible is a desirable situation (within the parameters of cost) Buy components, assemble and integrate

Problems of Scaling an App communication overhead delay in accessing servers issues of priority and fairness synchronization running on different platforms –based on USER needs Multiple Clients

Problems of Scaling an App need for independence from client variety of client demands scalability transparency to client hardware based on –performance –infrastructure needs (Multiple) Servers

Problems of Scaling an App transaction service (commit/rollback) security load balancing thread management persistence middleware accounting and logging migrating from legacy systems System needs

Standard Components User interface: GUI/WEB Database/Persistence AI Communications Multimedia

Standard Components and Middleware Lots of examples –Databases –GUIs –Objects Problem with all of these is that they are typically platform or vendor specific An example follows

No Middleware OpenOracle() … OpenMySQL() … ORACLE MySQL Code must be changed to migrate to a new DB

Middleware OpenOracle() ORACLE Oracle Driver OpenMySQL() MySQL MySQL Driver Database Middleware OpenDB()

Middleware w/ODBC OpenSQL() SQL SQL Driver OpenAccess() Access Access Driver Microsoft -> ODBC OpenDB()

Middleware BDE and ODBC OpenOracle() ORACLE ODBC Oracle Driver OpenDB() OpenParadox() Paradox Paradox Driver DBOpen() BDE BDE to ODBC Driver NOT PERFECT!

How do we get here? STANDARDIZATION! We got tired of being unproductive. Companies realized losing a little flexibility could save lots of money Organizations cooperated They saw what standardization could do –OS, languages, GUIs, SQL –had the guts to open source

Standardization Explosion Java is an attempt to standardize everything –language features –interface libs guis dbs communication application development Microsoft is doing the same thing in its own way Is this an oxymoron? Possibly. Each have an explosion of standardization. There are always competing standardization and degrees.

So what now? You’re jumping in midstream so it’s hard to see. Technologies have a way of overwhelming Technologies have a way of emerging to the masses (programmers) if they succeed. J2EE is a standardization of application development. It’s not simple… but not too hard for you!

J2SE and J2EE Basic libraries for java development I/o GUIs applets etc Based on J2SE Can UTILIZE EJB Uses other technologies Defines a Specification Components are constrained to abide by interface specs if they play J2EE

From Roman

Business Logic BackEnd Client Interface From Roman Our Main Focus

J2EE Technologies EJB RMI JNDI JDBC JTS (Transactions) servlets JSP JAAS (Authorization & Authentification)