enterprise and application frameworks
DESCRIPTION
Enterprise and Application Frameworks. Dr. M.E. Fayad, Professor Computer Engineering Department – RM# College of Engineering San José State University One Washington Square San José, CA 95192-0180 URL: http://www.cmpe.sjsu.edu/~fayad. Lesson 1: Introduction. 2. Lesson Objectives. - PowerPoint PPT PresentationTRANSCRIPT
Fall 2002 SJSU -- CmpE
Enterprise and Application Frameworks
Dr. M.E. Fayad, Professor
Computer Engineering Department – RM#
College of Engineering
San José State University
One Washington Square
San José, CA 95192-0180
URL: http://www.cmpe.sjsu.edu/~fayad
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S2 Introduction
2
Lesson 1:Introduction
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S3 Introduction
Lesson Objectives
Objectives
3
Discuss the course syllabus
Introduce enterprise & application frameworks
Explore Issues in enterprise & application frameworks
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S4 Introduction
Enterprise & Application Frameworks in General
Enterprise & Application Frameworks Heuristics
A Survey of Enterprise and Application Frameworks
Concepts in Enterprise and Application Frameworks
Enterprise Frameworks’ Architectures
Software Stability in Action
Stable Analysis and Design Patterns 4
Course Outline
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S5 Introduction
Enterprise & Application Frameworks
Definition Goals Importance Why Enterprise & Application
Frameworks!
5
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S6 Introduction
Packaging Systems
Rice & Sugar
Processedfood
Software Drinks
Medicine
43%93%96%
91%
83%
6
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S7 Introduction
Framework Definitions - I
A framework is a set of cooperating classes that comprise a reusable backbone for a specific application domain.
A framework is customized to a particular application by deriving application specific classes from abstract classes defined by the framework.
7
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S8 Introduction
Framework Definitions - I
Examples:– User interfaces (MVC, MacApp,
Interviews, and ET++)– Operating systems (Choices)– Structured drawing editors (Unidraw &
Hotdraw)– Distributed objects (ORBs)
8
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S9 Introduction
Framework Definitions - II
A framework provides an integrated set of domain- specific functionality
Frameworks exhibit inversion of control at run-time
A framework is a semi-complete application
9
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S10 Introduction
Application Frameworks vs. Other Reuse Approaches
Class Libraries
Design Patterns
Generic Applications
10
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S11 Introduction
Classifying Application Frameworks - Scope
System Infrastructure Frameworks
Middleware Integration Frameworks
Enterprise Application Frameworks
Beyond Enterprise Frameworks11
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S12 Introduction
According To Scope
12
System Infrastructure
29%
Middleware Integration
26%
Enterprise Application
45%
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S13 Introduction
Classifying Application Frameworks - Extending Technique
13
White-Box Frameworks
Black-Box Frameworks
Gray-Box Frameworks
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S14 Introduction
According to Extending Technique
White-Box31%
Gray-Box59%
Black-Box10%
14
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S15 Introduction
Framework Documentation
15
Importance of Documentation.
Documentation Users:Framework Developers.Application Developers.
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S16 Introduction
Framework Domains
0123456789
10
Tel
eco
m a
nd
Net
wo
rkin
g
Bu
sin
ess
and
Fin
anci
al
Dat
abas
e an
d D
ata
Man
agem
ent
So
ftw
are
Dev
elo
pm
ent
Med
ical
Gen
eral
Pu
rpo
se (
Do
mai
nle
ss)
Gen
eral
Pu
rpo
se (
Do
mai
nO
rien
ted
) Insu
ran
ce
Ind
ust
rial
an
d M
anu
fact
uri
ng
Ed
uca
tio
n a
nd
En
tert
ain
men
t
16
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S17 Introduction
Range of Selling Price
17
20% of the frameworks are for free.
The highest price $2 million (HBOC).Huff, Barrington and Owens Company.www.hboc.com
Framework rentals (BOOF).Business Object Oriented Framework.
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S18 Introduction
Why?
18
Reuse Reduce the cost of the application development Treat the software as assets Have time to develop new software applications Faster application development cycle Better economical model (mv. Transition)
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S19 Introduction
Syllabus
Responsibilities
Lectures & Notes
Course Work
How do you get an A+ in this course
Team Environment
Assignments and Exams
Enterprise & Application Frameworks Overview 19
Summary
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S20 Introduction
What are the differences between enterprise frameworks and design patterns?
What are the differences between enterprise frameworks and class library?
T/F
– Enterprise frameworks are components.
– Enterprise frameworks are design patterns
– Enterprise frameworks are class library
– Browsers are application frameworks
– ORBs are application frameworks
Give examples of enterprise and application frameworks 20
Discussion Questions
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S21 Introduction
Enterprise application frameworks –
– The good, bad, and ugly
– Architectural elements
– Pros and cons
Chapter 1 and Chapter 2
Overview of UML
21
Questions for the Next Lecture
Fall 2002 SJSU – CmpE – M.E. Fayad L1-S22 Introduction
Task 1: Problem Statement for team projects are needed (see sample problems on OOPSLA -- DesignFest). This is due on the Fourth week of the semester.
Task 2: Identify the team members of your team. Select a team name and e-mail me, the team name, team’s members’ names, their e-mails, phone numbers -- Immediately.
Please note that problem statements must be submitted electronically as MS Word format.
22
Tasks for Next Lecture