consultant effective patterns and practices in j2ee george de la torre

39
Consultant Effective Patterns and Practices in J2EE George de la Torre

Upload: ruby-oliver

Post on 20-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Consultant Effective Patterns and Practices in J2EE George de la Torre

Consultant

Effective Patterns and Practices in J2EE

George de la Torre

Page 2: Consultant Effective Patterns and Practices in J2EE George de la Torre

My Background

Borland Solutions PartnerBeen there, done that!

Page 3: Consultant Effective Patterns and Practices in J2EE George de la Torre

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]

Page 4: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Sense

Page 5: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 6: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 7: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Agenda

Architecture and Maintenance EJB Practices J2EE Core Patterns Case Study Demo

JBuilderJDataStoreBorland Enterprise Server

Page 8: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Presentation

Patterns

Patterns Object Model

Components

Services

Data Model

Page 9: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Application

Components

Services

J2EE 1.3J2EE 1.3

Object Model

Data Model

Over 250 Entity Over 250 Entity Beans!Beans!

Page 10: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Model

Object Model

Components

Services

Data Model

Page 11: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Model

Object ModelingBusiness Objects Legacy Roles

Page 12: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 13: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 14: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 15: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Model

Legacy Discuss mapping database and entity

beans techniques

Page 16: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Model

Model Roles The business world

Pure abstraction model Federated architectural framework

Explicit contract

Person Roles Abstract thinkers only – extra sense

Page 17: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Model

JBuilder demo EJB module Database Schema Local Entity Beans

Container-Managed RelationshipsContainer-Managed Persistence

Page 18: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Object Model

Components

Services

Data Model

Page 19: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Packages and JARsSession Facade

Data Transfer Objects (DTO) DTO Assemblers

Container ServicesApplication ServicesRoles

Page 20: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Packages and JARs How to organize for extensibility,

scalability and maintainability for enterprise concerns.

Page 21: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Session Façade Central and aggregate interface

provider

Page 22: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Container Services Transactions Security Concurrency Persistence Deployment Exception Handling

Page 23: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Application Services Use Cases Business rules Utilities

Page 24: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

Component Roles Realizes business uses cases Explicit contract with object model Provides integration adapters Firewall for object model

Person Roles Consumer Provider

Page 25: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Components

JBuilder demo Packages and JARs Session Facades Data Transfer Objects (DTO) DTO Assemblers Business Rules

Java Expert System Shell (JESS)

Page 26: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Object Model

Components

Services

Data Model

Page 27: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Business DelegateUser ExperienceWeb Service BrokerIntegration

Adapters Legacy

Roles

Page 28: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Business Delegate

Page 29: Consultant Effective Patterns and Practices in J2EE George de la Torre

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”

Page 30: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Web Service Broker

Page 31: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Integration

Page 32: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

Services Roles Interface to the world Provides integration adapters Assembly of services from other services

and business logic Person Roles

Consumer Provider

Page 33: Consultant Effective Patterns and Practices in J2EE George de la Torre

The Services

JBuilder demo Service Locator Business Delegate Web Application Web Services

Page 34: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 35: Consultant Effective Patterns and Practices in J2EE George de la Torre

Service Oriented Architecture

LIMS

GIS

Pharma

ObservationAct

Rule Engine

RoleEntity

System Reference Table

s

ServicesServices

Page 36: Consultant Effective Patterns and Practices in J2EE George de la Torre

Service Oriented Architecture

LIMS

GIS

Pharma

ObservationAct

Rule Engine

RoleEntity

System Reference Table

s

XMLXML XSLTXSLT Web ServicesWeb Services CORBACORBAHTMLHTML

Page 37: Consultant Effective Patterns and Practices in J2EE George de la Torre

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!

Page 38: Consultant Effective Patterns and Practices in J2EE George de la Torre

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

Page 39: Consultant Effective Patterns and Practices in J2EE George de la Torre

Contact

George de la TorreConsultant/Systems Architect

PHIN Portal Project305-519-8375

[email protected]