Consultant Effective Patterns and Practices in J2EE George de la Torre
My Background Borland Solutions Partner Been 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..n Silo #1 11 Silo #2 0..n Silo #3 Silo #4 Silo #5 Silo #7 Base Class for all Acts Administered Shot Instance Shot Method Instance IF: Shot Reaction Instance Associates Entities with Acts and Entities with Entities Instance Tracks Role Instance Base Class for all Entities Medical Home Instance Vaccine Information Instance Patient, Provider, Nurse and other Persons participating in this event Instance Silos Everywhere
After J2EE ObservationProcedure Patient_encounter Act_relationship Act 0..n 1 1 Participation 0..n 1 1 Role 0..n 1 1 Entity Organization Person Material Base Class for all Acts Administered Shot Instance Shot Method Instance IF: Shot Reaction Instance Associates Entities with Acts and Entities with Entities Instance Tracks Role Instance Base Class for all Entities Medical Home Instance Vaccine Information Instance 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 JBuilder JDataStore Borland Enterprise Server
The Presentation Patterns Object Model Components Services Data Model
The Application Components Services J2EE 1.3 Object Model Data Model Over 250 Entity Beans!
The Model Object Model Components Services Data Model
The Model Object Modeling Business Objects Legacy Roles
The Model Object Modeling
The Model Object Modeling
The Model Business Objects ObservationProcedure Patient_encounter Act_relationship Act 0..n 1 1 Participation 0..n 1 1 Role 0..n 1 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 Relationships Container-Managed Persistence
The Components Object Model Components Services Data Model
The Components Packages and JARs Session Facade Data Transfer Objects (DTO) DTO Assemblers Container Services Application Services Roles
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 Delegate User Experience Web Service Broker Integration 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 LIMSGISPharma Observation Act Rule Engine Role Entity System Reference Tables Services
Service Oriented Architecture LIMS GIS Pharma Observation Act Rule Engine Role Entity System Reference Tables XMLXSLT Web Services CORBAHTML
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 integration Consolidation New development
Contact George de la Torre Consultant/Systems Architect PHIN Portal Project