advanced vision application in 3 tiers. vb app.e xe web page? bus object 1 bus object 2 bus object 3...

35
Advanced Vision Application in 3 Tiers

Upload: stephen-mclaughlin

Post on 04-Jan-2016

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Advanced Vision Application in 3 Tiers

Page 2: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Vb app.exe

Vb app.exe

web page?

Bus Object 1

Bus Object 2

Bus Object 3

Business layer

ActiveX DLL (COM DLL)

Presentation Layer Data Layer

ActiveX DLL (COM DLL)

Data Object 1

Data Object 2

Data Object 3

Three Tier Logical Model

Page 3: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Presentation Services provides the interface to the end user of the system  

 Business Services

takes care of business logic or business tasks, validation and computations.

Data Servicesprovides the capability and security required to retrieve, insert, update and delete data that is required by the business service

Page 4: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

 UML (Unified Modeling Language) -- a graphical language for visualizing, specifying, constructing, and documenting software systems.   A class diagram shows

•all the classes in your application•what tier each class is in •the relationships between the classes.

UML Class Diagram

Order Order

Method1()Method2()<Get>Property 1<Get>Property 2<Let>Property 3

Order ClassOrder Class (Expanded)

Page 5: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Sample Class Diagram

Page 6: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Designing 3 Tier Systems

Most Important Guidelines

Presentation layer

•should not contain any information or names that directly relate to the data source or data schema.

•should not require a reference to ADO library

•should not contain any business logic

Business layer

•should contain all calculations and validation.

•should not query the database directly

•should not communicate directly with the user

Data layer

•should not contain business logic

•should not communicate directly with the user

Page 7: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

User Services Business Services Data Services

<<Form>>frmPatient

<<Class Module>>clsPatient

<<Class Module>>clsInsurance

<<Class Module>>clsPatientData

<<Class Module>>clsInsuranceData

Page 8: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Data Type Description

City string patient’s city

FirstName string patient’s first name

Insurance Code Integer patient’s insurance code

LastName string patient’s last name

Patient Number integer patient’s ID number

Phone string patients’s phone

Policy Number string patient’s policy number

State string patient’s state

ZipCode string patient’s zip code

Properties

clsPatient

Page 9: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Description Return Value Arguments

Absolute Position Returns position in recordset

Integer None

Add adds a new patient record

None None

CancelUpdate Cancels a new record

None None

Delete deletes a record None None

Filter Filters data boolean FieldName:string

Searchvalue:string

MoveFirst Moves to first record

none none

MoveNext Moves to next record

none none

MoveLast Moves to last record

none none

MovePrevious moves to previous record

none none

Methods

clsPatient

Page 10: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Description Arguments

PropertyChange Notification that a property value has changed

propertyname:string

Events

clsPatient

Name Description Return Value Arguments

RecordCount returns count of records

integer none

Save saves updates none none

ShowAllRecords removes filters none none

Sort sorts the records none SortString:string

Methods

Page 11: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

clsInsurance

Name Data Type Description

none

Properties

Name Description Return Value Arguments

GetInsuranceList Fills an array with the codes and names of the insurance companies

None None

NumberOfInsuranceCompanies Returns the number of companies in list

List():Variant List():Variant

Methods

Page 12: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Description Arguments

none

Events

clsInsurance

Page 13: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Data Type Description

City string patient’s city

FirstName string patient’s first name

Insurance Code Integer patient’s insurance code

LastName string patient’s last name

Patient Number integer patient’s ID number

Phone string patients’s phone

Policy Number string patient’s policy number

State string patient’s state

ZipCode string patient’s zip code

Properties

clsPatientData

Page 14: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Description Return Value

Arguments

Absolute Position Returns position in recordset

Integer None

Add adds a new patient record None None

CancelUpdate Cancels a new record None None

Filter Filters data boolean FieldName:string

MoveFirst Moves to first record none Searchvalue:string

MoveNext Moves to next record none  

MoveLast Moves to last record none none

MovePrevious moves to previous record none none

RecordCount returns count of records integer none

MethodsclsPatientData

Page 15: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Description Arguments

DataChange Notification that data for the patient record has changed

none

Events

clsPatientData

Name Description Return Value

Arguments

Save saves updates none none

ShowAllRecords removes filters none none

Sort sorts the records none SortString:string

MoveLast Moves to last record none none

MovePrevious moves to previous record none none

Methods

Page 16: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Name Data Type Description

InsuranceRecords Recordset Holds Recordset of Insurance Companies

Properties

clsInsuranceData

Name Description Return Value Arguments

RecordCount Returns number of records Integer None

Methods

Name Description Arguments

none

Events

Page 17: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection•Create patient recordset•Create insurance recordset

•Set Connection String•Open the Connection •Open Patient Recordset•Open Insurance Recordset •Fill Insurance Combo box •Close Insurance Recordset

•Set Sort Order •Set Form Values

•DisplayRecordCount

Page 18: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Create clsPatient object

1. Create clsPatientData object

1. Create Conn2. Create Patient

RecordSet3. Set Conn

String4. Open Conn5. Open Patient

Recordset6. Move First

clsPatient Class_InitializeclsPatientData Class_InitializeSet mobjPatient = New

clsPatient

2. UpdateProperties 1. Properties return values of current record

Page 19: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset •Fill Insurance Combo box •Close Insurance Recordset

•Set Sort Order •Set Form Values

•DisplayRecordCount

Page 20: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Create clsInsurance object

1. Create clsInsuranceData object

1. Create Conn2. Create

Insurance RecordSet

3. Set Conn String

4. Open Conn5. Open

Insurance Recordset

clsInsurance Class_Initialize

clsInsuranceData Class_InitializeSet mobjInsurance = New

clsInsurance

Page 21: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset-DONE

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset - DONE •Fill Insurance Combo box •Close Insurance Recordset

•Set Sort Order •Set Form Values

•DisplayRecordCount

Page 22: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Call GetInsurance List Method, Pass the array Ins to hold list

1. Calls GetRows method of clsInsuranceData.

InsuranceRecords

2. Sets ByRef array equal to result of GetRows

1. Returns Insurance Recordset

clsInsurance GetInsuranceList Method

clsInsuranceData InsuranceRecords PropertymobjInsurance.

GetInsuranceList Ins

2. Fill combobox with contents of Ins Array

Page 23: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset-DONE

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset - DONE •Fill Insurance Combo box - DONE

•Close Insurance Recordset

•Set Sort Order •Set Form Values

•DisplayRecordCount

Page 24: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Terminate Insurance Object

1. Set mobjInsData = Nothing

1. Close Insurance Recordset

2. Close Conn3. Terminate

Insurance Recordset

4. Terminate Connection

clsInsurance Class_Terminate

clsInsuranceData Class_TerminateSet mobjInsurance

= Nothing

Page 25: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset-DONE

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset - DONE •Fill Insurance Combo box - DONE

•Close Insurance Recordset- DONE

•Set Sort Order •Set Form Values

•DisplayRecordCount

Page 26: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Calls Sort Method of clsPatient

1. Calls Sort Method of clsPatientData

1. Selects Field Name based on string that is passed

2. Calls sort method of patient recordset

3. Raises DataChange Event

clsPatient.SortclsPatientData.SortmobjPatient.Sort "Patient

Number"

1. UpdatesProperties

2. Raises Property Change Event

mobjPatientData_DataChange()

1. Properties return values of current record

1. Assigns Form Values

mobjPatient_PropertyChange

Page 27: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset-DONE

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset - DONE •Fill Insurance Combo box - DONE

•Close Insurance Recordset- DONE

•Set Sort Order- DONE•Set Form Values- DONE

•DisplayRecordCount

Page 28: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Presentation Business Data

AVB.mdb

1. Calls absolute position method of mobjPatient

1. Calls clsPatientData.AbsolutePosition

1. mrsPatient.AbsolutePosition

clsPatient.AbsolutePositionclsPatientData.AbsolutePosition

mobjPatient.AbsolutePosition

1. Calls RecordCount Method of mobjPatient

mobjPatient.RecordCount

1. Calls clsPatientData.RecordCount

clsPatient.RecordCount

1. mrsPatient. RecordCount

clsPatientData.RecordCount

Page 29: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Load

Required Tasks•Create connection - DONE•Create patient recordset- DONE•Create insurance recordset-DONE

•Set Connection String - DONE•Open the Connection- DONE •Open Patient Recordset - DONE•Open Insurance Recordset - DONE •Fill Insurance Combo box - DONE

•Close Insurance Recordset- DONE

•Set Sort Order- DONE•Set Form Values- DONE

•DisplayRecordCount- DONE

Page 30: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

MoveLast

Required Tasks•mrsPatient.MoveLast•DisplayRecordCount•Set Form Elements

Page 31: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

MoveLast

Presentation Business Data

AVB.mdb

1. Calls clsPatientData.MoveLast

clsPatient.MoveLast

1. mrsPatient.MoveLast

2. Raise DataChange Event

clsPatientData.MoveLast

1. Calls MoveLast method of mobjPatient

mobjPatient.MoveLast

1. UpdatesProperties

2. Raises Property Change Event

mobjPatientData_DataChange()

1. Properties return values of current record

1. Assigns Form Values

mobjPatient_PropertyChange

Page 32: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Delete

Required Tasks•Create Command object•Set Connection String•Set Command String•Execute Command•Requery Recordset•Check to see if deleted last record•Update form elements

Page 33: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Delete

Presentation Business Data

AVB.mdb

1. Calls clsPatientData.Delete (passes Patient ID)

clsPatient.Delete

1. Calls Delete method of mobjPatient

mobjPatient.Delete

1. UpdatesProperties

2. Raises Property Change Event

mobjPatientData_DataChange()

1. Properties return values of current record

1. Assigns Form Values

mobjPatient_PropertyChange

1. Creates Command

2. Sets Conn3. Sets Command

Text4. Executes5. Requeries6. Raises

DataChange Event

clsPatientData.Delete

Page 34: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Unload

Required Tasks•Close Patient RecordSet•Close Connection•Set Recordset = nothing•Set Connection = nothing

Page 35: Advanced Vision Application in 3 Tiers. Vb app.e xe web page? Bus Object 1 Bus Object 2 Bus Object 3 Business layer ActiveX DLL (COM DLL) Presentation

Form Unload

Presentation Business Data

AVB.mdb

1. Set mobjPatientData= Nothing

clsPatient Class_Terminate

1. Set mobjPatient to Nothing

Set mobjPatient = Nothing

1. Close Recordset2. Close Conn3. Set RS = nothing4. Set Conn =

nothing

clsPatientData class_Terminate