consultant effective patterns and practices in j2ee george de la torre

Post on 20-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

delatorreg@att.net

top related