Date post: | 20-Jan-2016 |
Category: |
Documents |
Upload: | ruby-oliver |
View: | 213 times |
Download: | 0 times |
Consultant
Effective Patterns and Practices in J2EE
George de la Torre
My Background
Borland Solutions PartnerBeen there, done that!
The Purpose
A successful software project is one whose deliverables satisfy and possibly exceed the end user’s expectations, was developed in a timely and economical fashion, and is resilient to change and adaptation.
- Grady Booch [1996]
The Sense
Before J2EE
Silo #8Silo #6 Silo #11
Silo #10
Silo #9
0..n0..n
Silo #1 11
Silo #2
0..n0..n
Silo #3
Silo #4 Silo #5 Silo #7
Base Class for all Acts
Administered ShotInstance
Shot MethodInstance
IF: Shot ReactionInstance
Associates Entities with Actsand Entities with Entities
Instance
Tracks RoleInstance
Base Classfor all Entities
Medical HomeInstance
Vaccine InformationInstance
Patient, Provider, Nurse and other Persons participating in this event
Instance
Silos Everywhere
After J2EE
ObservationProcedure Patient_encounter
Act_relationship
Act
0..n
1
0..n
1Participation
0..n
1
0..n
1
Role
0..n
1
0..n
1
Entity
Organization Person Material
Base Class for all Acts
Administered ShotInstance
Shot MethodInstance
IF: Shot ReactionInstance
Associates Entities with Actsand Entities with Entities
Instance
Tracks RoleInstance
Base Classfor all Entities
Medical HomeInstance
Vaccine InformationInstance
Patient, Provider, Nurse and other Persons participating in this event
Instance
Silos Consolidated
The Agenda
Architecture and Maintenance EJB Practices J2EE Core Patterns Case Study Demo
JBuilderJDataStoreBorland Enterprise Server
The Presentation
Patterns
Patterns Object Model
Components
Services
Data Model
The Application
Components
Services
J2EE 1.3J2EE 1.3
Object Model
Data Model
Over 250 Entity Over 250 Entity Beans!Beans!
The Model
Object Model
Components
Services
Data Model
The Model
Object ModelingBusiness Objects Legacy Roles
The Model
Object Modeling
Entity(from Entities)
EntityRole(from EntityRoles)
0..1
0..n
0..1
0..n
plays
0..1
0..n
0..1
0..n
scopes
ActParticipation(from ActParticipations)
0..1 0..n0..1 0..n
participation
0..n
0..1
0..n
0..1
participatesIn
Act(from Acts)
10..n 10..n
participatingAct ActRelationship(from Acts)1
0..n1
0..n
source
0..n 10..n 1
target
The Model
Object Modeling
Entity(from Entities)
EntityRole(from EntityRoles)
0..1
0..n
0..1
0..n
plays
0..1
0..n
0..1
0..n
scopes
ActParticipation(from ActParticipations)
0..1 0..n0..1 0..n
participation
0..n
0..1
0..n
0..1
participatesIn
Act(from Acts)
10..n 10..n
participatingAct ActRelationship(from Acts)1
0..n1
0..n
source
0..n 10..n 1
target
The Model
Business Objects
ObservationProcedure Patient_encounter
Act_relationship
Act
0..n
1
0..n
1Participation
0..n
1
0..n
1
Role
0..n
1
0..n
1
Entity
Organization Person Material
The Model
Legacy Discuss mapping database and entity
beans techniques
The Model
Model Roles The business world
Pure abstraction model Federated architectural framework
Explicit contract
Person Roles Abstract thinkers only – extra sense
The Model
JBuilder demo EJB module Database Schema Local Entity Beans
Container-Managed RelationshipsContainer-Managed Persistence
The Components
Object Model
Components
Services
Data Model
The Components
Packages and JARsSession Facade
Data Transfer Objects (DTO) DTO Assemblers
Container ServicesApplication ServicesRoles
The Components
Packages and JARs How to organize for extensibility,
scalability and maintainability for enterprise concerns.
The Components
Session Façade Central and aggregate interface
provider
The Components
Container Services Transactions Security Concurrency Persistence Deployment Exception Handling
The Components
Application Services Use Cases Business rules Utilities
The Components
Component Roles Realizes business uses cases Explicit contract with object model Provides integration adapters Firewall for object model
Person Roles Consumer Provider
The Components
JBuilder demo Packages and JARs Session Facades Data Transfer Objects (DTO) DTO Assemblers Business Rules
Java Expert System Shell (JESS)
The Services
Object Model
Components
Services
Data Model
The Services
Business DelegateUser ExperienceWeb Service BrokerIntegration
Adapters Legacy
Roles
The Services
Business Delegate
The Services
User Experience Provides crisp abstraction for all use cases Common vocabulary between end users
and developers Clear separation of concerns, creating
firewalls that isolate the common model “What is understood is reused”
The Services
Web Service Broker
The Services
Integration
The Services
Services Roles Interface to the world Provides integration adapters Assembly of services from other services
and business logic Person Roles
Consumer Provider
The Services
JBuilder demo Service Locator Business Delegate Web Application Web Services
Service Oriented Architecture
J2EE does Leverage existing assets Support all types of integration Allow for incremental migration Establish standard framework
The business drives the service and the services drive the technology
Service Oriented Architecture
LIMS
GIS
Pharma
ObservationAct
Rule Engine
RoleEntity
System Reference Table
s
ServicesServices
Service Oriented Architecture
LIMS
GIS
Pharma
ObservationAct
Rule Engine
RoleEntity
System Reference Table
s
XMLXML XSLTXSLT Web ServicesWeb Services CORBACORBAHTMLHTML
J2EE Resistance
Fear Uncertainly Doubt Too difficult Long learning curve Standards sets you free OK, go ahead and write your own
open-platform enterprise system!
J2EE Deal
J2EE is the deal because It solves all distributed concerns from
the get go! It’s a blueprint for
Legacy integrationConsolidation New development
Contact
George de la TorreConsultant/Systems Architect
PHIN Portal Project305-519-8375