The Component Dilemma Handicaps of Component Architectures in Commercial Information Systems Michael Löwe IDPT 2002.

Slides:



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

Regnet Specification : Technical point of view REGNET.
TriZetto Transformation Services TriZetto Web Development.
Software Reuse SEII-Lecture 28
CSIS0402 System Architecture K.P. Chow University of Hong Kong.
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
ARCHIMÈDE Presented by Guy Teasdale Directeur, Services soutien et développement Bibliothèque de l’Université Laval CARL Workshop on Institutional Repositories.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Sapana Mehta (CS-6V81) Overview Of J2EE & JBoss Sapana Mehta.
BICS546 Client/Server Database Application Development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
Introduction to Enterprise JavaBeans. Integrating Software Development Server-side Component Model Distributed Object Architecture –CORBA –DCOM –Java.
Computer ScienceSoftware Engineering Slide 1 Review l The need for software engineering l Processes Waterfall Iterative waterfall Evolutionary Formal systems.
EJB Design. Server-side components Perform –complex algorithms –high volume transactions Run in –highly available environment (365 days/year) –fault tolerant.
Chapter 13 Physical Architecture Layer Design
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.
J2EE Java2 Enterprise Edition by Damian Borth. Contents Introduction Architectures styles Components Scenarios Roles Processing a HTTP request.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Component Based Systems Analysis Introduction. Why Components? t Development alternatives: –In-house software –Standard packages –Components 60% of the.
CS 432 Object-Oriented Analysis and Design
The Architecture of Transaction Processing Systems
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.
Oracle Products Overview Internet Computing Indrek Peenmaa Sales Consultant Oracle Corporation
Enterprise Programming By J Pearce. Enterprise Software Sales HR Inventory Customer Support Shipping.
E-business Architecture.NET vs J2EE Judith Molka-Danielsen Feb.27, 2004.
Java Server and Servlet CS616 Team 9 Kim Doyle, Susan Kroha, Arunima Palchowdhury, Wei Xu.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Web-based Software Development - An introduction.
The Internetworked E-Business Enterprise
EJB Overview Celsina Bignoli Distributed Business Applications Server DB Client DB Server DB.
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Chapter 4: Core Web Technologies
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
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
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Unit 7 Patterns and Frameworks. Key Concepts Design classes Components Design architectures EAD Patterns Packages Frameworks.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
GemStone/J 3.0 Objects Across the Enterprise Paul Chambers Chief Technical Officer (Europe)
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Enterprise Java Beans. Model 1 J2EE – Web View Model/View/Controller Model View Control Data base Web Server Model One Architecture HTTP Request HTTP.
An Overview of Architectures for Web-Based Application Systems Instructor: Dr. Jerry Gao San Jose State University URL:
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
What is J2EE Platform The Java 2 Platform Enterprise Edition (J2EE) defines the standard for developing multitier enterprise applications.
1 Distributed System using J2EE. 2 What is J2EE?  J2EE (Java2 Enterprise Edition) offers a suite of software specification to design, develop, assemble.
Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
Alan L. Batongbacal CS 4244 / 01 Nov 2000
Building J2EE Applications Based on Design Patterns with Business Components for Java Olivier LE DIOURIS Principal Product Manager Oracle Corporation.
What is J2EE?  Java J2ee developers on top of this provide the various kinds of services that are essential to develop large scale, allocated, component.
A service Oriented Architecture & Web Service Technology.
J2EE Platform Overview (Application Architecture)
Suresh Ramachandran Duke Energy
Web-based Software Development - An introduction
The Object-Oriented Thought Process Chapter 13
Introduction to J2EE Architecture
Distributed System Using Java 2 Enterprise Edition (J2EE)
Technology Landscape and Enterprise Objectives
The Italian National Library Service (SBN)
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
Quality Assurance for Component-Based Software Development
Presentation transcript:

The Component Dilemma Handicaps of Component Architectures in Commercial Information Systems Michael Löwe IDPT 2002

The Component Dilemma2 Contents Theoretical promises Practical handicaps to keep them Perspectives and Solutions Perfect Pragmatic

The Component Dilemma3 The Theoretical Promises Well-Structured Maintainable Applications Divide and Conquer Reusable Software Component Market Places Efficient Software Process

The Component Dilemma4 Maintainable Applications Marketing Customer/Partner ContractsClaims Provision Reassurance Consortia Finance Product/Process Sample Insurance Architecture Well-isolated Application Components Thin Interfaces Independent Development Application Level Component Models

The Component Dilemma5 Application Components Product Contract Model View Class Object Tariff PoliceBillingLiability Interests MarketingStatisticProcess Consortia Coverage Re.-Ass. Competence

The Component Dilemma6 Application Components Application Legacy Structure Application New Application Application New Component Application Interface Application Interface Application Interface Application Interface Migrating Component by Component Migrating Application by Application

The Component Dilemma7 Handicaps Branch-specific application domain architectures and components are not available, yet. Methods for migrating legacy systems into component structures are not sufficient. Integration of application level components is not easy and cost-intensive.

The Component Dilemma8 Divide and Conquer Global Requirements Requirements for Component 1 Requirements for Component 2 Requirements for Component n Analysis Interfaces 1 Interfaces 2 Interfaces... Interfaces n Construction plan Interfaces...

The Component Dilemma9 Divide and Conquer Requirements for Component n Team 2 Requirements for Component 1 Requirements for Component 2 Team 1 Realization Correct Component n Correct Component n Correct Component 1 Correct Component 1 Correct Component 2 Correct Component 2

The Component Dilemma10 Divide and Conquer Synthesis Interfaces 1 Interfaces 2 Interfaces... Interfaces n Interfaces... Correct Component 1 Correct Component 1 Correct Component 2 Correct Component 2 Correct Component n Correct Component n Correct System Correct System Component Architecture

The Component Dilemma11 Handicaps Analysis results cannot be proven correct. Component architectures do not like change. Methods for the evolution of component structures are not sufficient.

The Component Dilemma12 System 1System 3System 2 Infrastructure Object Model, Communication, Messaging, Transactions, Synchronization, Security, Safety, Authorization, Workflow, Dialogs, Persistence, Logging, Administration, Operating,..... Reusable Software Library Component Component

The Component Dilemma13 Reusable Software Dependent Classes Dependent Classes Class A Class B myA myB Decoupled by Observer Pattern Decoupled by Observer Pattern Subject Class A Observer Class B observers myA Not reusable class AProbably reusable class A

The Component Dilemma14 Handicaps Components need more infrastructure than function call. Function calls need some infrastructure themselves. There are several competing and incompatible component infrastructures. Methods and tools for migrating components into another infrastructure are not sufficient. Simply reusable components are not simple.

The Component Dilemma15 Suppliers Application (Client) Application (Client) Component Market Places Database System(s) Workflow Management System Office Components Transaction Monitor Internet Components Commercial Dependency GroupWare MiddleWare Operating System(s)

The Component Dilemma16 Handicaps Using components from a component market increases commercial dependencies. Consequent application of standard components leads to standard business.

The Component Dilemma17 Efficient Software Process Webshere Multi-Tier Framew orks EDI DCE 3-Tier Messaging Internet Intranet Extranet Active X Web-Server Internet-Browser XML Application Server Fat Clients Java Beans DCOM Thin Clients UML JDBC DAO Applets ODBC OLE DHTML HTML XSLT DTD XML-Schema ASP JSP COM+.Net C# RMI PGP SSL IIOP CORBA EJB Servlets Ultra Thin Clients

The Component Dilemma18 Efficient Software Process Machine or Byte-Code Language Standard Service Component Model Platform Services Inter Platform Services JVM Java Java-Classes Beans Enterprise Beans Corba-ORB Application Domain ServicesBranch Model Efficience, Security,... Algorithms, Patterns, Program Reuse,... GUI, Collections, Threads, DBM,... Object Reuse Technical Information Systems Infrastructure Application and Systems Integration Application Domain System Infrastructure

The Component Dilemma19 Handicaps There are not enough software engineers who are used ”to think in components”. Return on investments into component architectures cannot be expected within a short time.

The Component Dilemma20 Solutions (perfect) Technical Components Application Components Evolution Migration Componentization of Infrastructures Standardization of Interaction Inter-Infrastructure Techn. Components General Components Branch Components Branch Architectures General Architectures Prototype Frameworks Legacy Reengineering Infrastructure Migration Framework Migration

The Component Dilemma21 Solutions (pragmatic) Do not build for eternity! (20 years is eternity!) Design for today not for the future! Restrict maintenance! Bugs and errors Legal changes Rebuild often (5 - 8 years, complete systems)! Change platforms and tools if needed or wanted! Educate your people!

...thank you for your attention!!!