did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9781590591451

Expert One-On-One Visual Basic .Net Business Objects

by
  • ISBN13:

    9781590591451

  • ISBN10:

    1590591453

  • Edition: Reprint
  • Format: Paperback
  • Copyright: 2003-06-01
  • Publisher: Springer-Verlag New York Inc
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $59.99 Save up to $39.74
  • Digital
    $43.88
    Add to Cart

    DURATION
    PRICE

Supplemental Materials

What is included with this book?

Summary

Whether you've already made the move to Visual Basic .NET, or you want to know what's in it for you when you do, Expert One-on-One Visual Basic .NET Business Objects will show you the kinds of opportunities that .NET makes available. It will allow you to make clear, informed decisions about the right way to develop your projects, and show you how the trade-off between performance and flexibility can be made successfully. As well as these, this book contains the author's Component-based, Scalable, Logical Architecture (CSLA .NET), an object- oriented framework that can act as the foundation for a diverse range of enterprise applications, and which you're free to examine, use, and modify for your needs.

Table of Contents

Introduction 1(1)
From COM to .NET
1(1)
Designing CSLA .NET
2(1)
What's covered in this book?
3(1)
What you need to use this book
4(1)
Conventions
5(1)
Customer support
6(3)
How to download sample code for this book
6(1)
Errata
6(3)
Distributed architecture
9(34)
Logical and physical architecture
10(14)
Complexity
11(1)
Relationship between logical and physical models
12(1)
The logical model
12(1)
The physical model
13(4)
A 5-tier logical architecture
17(1)
Presentation
18(1)
UI
18(1)
Business logic
19(1)
Data access
20(1)
Data storage and management
20(1)
Applying the logical architecture
21(1)
Optimal performance intelligent client
21(1)
High scalability intelligent client
22(1)
Optimal performance web client
23(1)
High security web client
23(1)
The way ahead
24(1)
Managing business logic
24(14)
Potential business logic locations
25(1)
Business logic in the data management tier
25(1)
Business logic in the Ul tier
26(1)
Business logic in the middle (business/data access) tier
27(1)
Business logic in a distributed business tier
27(1)
Business objects
28(1)
Business objects as smart data
29(1)
Anatomy of a business object
30(1)
Distributed objects
31(2)
A new logical architecture
33(1)
Local, anchored, and unanchored objects
33(4)
Complete encapsulation
37(1)
Architectures and frameworks
38(1)
Conclusion
39(4)
Framework design
43(60)
Basic design goals
44(23)
n-Level undo capability
47(2)
Tracking broken business rules
49(1)
Tracking whether the object has changed
50(1)
Strongly-typed collections of child objects
50(1)
Simple and abstract model for the user interface developer
51(1)
UI in charge
52(1)
Object in charge
53(2)
Class in charge
55(1)
Supporting data binding
56(1)
Enabling our objects for data binding
57(1)
Events and serialization
58(1)
Object persistence and object-relational mapping
59(1)
Relational vs. object modeling
60(1)
Object-relational mapping
61(1)
Preserving Encapsulation
62(2)
Supporting physical n-tier models
64(2)
Table-based security
66(1)
Framework Design
67(30)
Business Object Creation
69(1)
BusinessBase
69(1)
BusinessCollectionBase
70(1)
ReadOnlyBase
71(1)
ReadOnlyCollectionBase
71(1)
NameValueList
71(1)
SafeSqlDataReader
72(1)
SmartDate
72(1)
n-Level undo functionality
73(1)
UndoableBase
74(1)
NotUndoableAttribute
75(1)
Data binding support
76(1)
BindableBase
77(1)
BindableCollectionBase
78(1)
IEditableObject
78(1)
Business rule tracking
79(1)
BrokenRules
80(1)
RulesCollection
80(1)
Rule structure
80(1)
Data portal
81(1)
The client-side DataPortal
82(3)
The server-side DataPortal
85(3)
DataPortal behaviors
88(7)
Table-based security
95(1)
Custom principal and identity objects
95(1)
Using DataPortal
95(1)
Integration with our application
96(1)
Namespace organization
97(1)
Component design
98(2)
Conclusion
100(3)
Key technologies
103(52)
Remoting
104(14)
Basic concepts
104(1)
Channels
105(1)
Formatters
105(1)
Listener
106(1)
Object proxies and location transparency
106(1)
Remoting configuration
107(1)
Remoting servers
107(1)
Creating the DLL
108(2)
Creating the IIS host
110(2)
Testing with the browser
112(1)
Remoting clients
113(2)
Configuring remoting
115(2)
Using the binary formatter
117(1)
Serialization
118(7)
Types of serialization
119(1)
The <Serializable()> Attribute
120(1)
The <NonSerialized()> Attribute
120(1)
Serialization and Remoting
121(3)
Manually invoking serialization
124(1)
Enterprise Services (COM+)
125(7)
Enterprise Services and COM+ contexts
126(1)
Running code in Enterprise Services
127(1)
Using Enterprise Services directly
127(1)
Installing the assembly into COM+
128(1)
Using Enterprise Services indirectly
129(1)
Two-phase distributed transactions
130(2)
Reflection
132(4)
Working with types
132(1)
Getting a Type object
132(1)
Getting information from a Type object
133(3)
Attributes
136(2)
Creating custom attributes
136(1)
Simple attributes
136(1)
Restricting attribute usage
137(1)
Detecting custom attributes
137(1)
.NET role-based security
138(1)
ADO.NET
139(13)
ADO.NET architecture
139(1)
Data providers
139(1)
The DataSet object
140(1)
Data provider and DataSet interaction
140(2)
Basic use of ADO.NET
142(1)
Connecting to a database
143(1)
Reading data with a data reader
144(5)
Updating data
149(2)
ADO.NET transactions
151(1)
Conclusion
152(3)
Business framework implementation
155(74)
Setting up the CSLA .NET solution
157(1)
CSLA.Core.BindableBase
157(7)
Core.BindableBase
159(1)
Core.BindableCollectionBase
160(4)
CSLA
164(61)
NotUndoableAttribute
166(1)
Core.UndoableBase
166(2)
Helper Functions
168(1)
CopyState
169(6)
UndoChanges
175(2)
AcceptChanges
177(1)
BusinessBase
178(1)
Tracking basic object status
179(4)
Object editing
183(3)
Object cloning
186(1)
Root and child objects
187(2)
Deleting objects
189(1)
Edit level tracking for child objects
190(1)
BrokenRules
191(2)
Rule data type
193(2)
RulesCollection
195(3)
BrokenRules
198(2)
Exposing BrokenRules from BusinessBase
200(1)
BusinessCollectionBase
201(1)
Creating the class
202(1)
Clone method
203(1)
Contains method
203(1)
Root or child
204(1)
Edit level tracking
204(1)
Reacting to insert, remove, or clear operations
205(1)
Deleted object collection
206(1)
Deleting and undeleting child objects
207(4)
CopyState
211(1)
UndoChanges
212(1)
AcceptChanges
213(1)
BeginEdit, CancelEdit, and ApplyEdit
214(1)
IsDirty and IsValid
215(1)
ReadOnlyBase
216(1)
ReadOnlyCollectionBase
217(1)
Clone method
217(1)
Preventing changes
218(1)
SmartDate
219(1)
Supporting empty dates
220(1)
Conversion functions
221(2)
Text functions
223(1)
Date functions
224(1)
Date manipulation
224(1)
Database format
225(1)
Conclusion
225(4)
Data access and security
229(82)
A note about object-oriented programming
230(2)
CSLA
232(8)
BusinessBase
232(1)
DataPortal methods
233(1)
Save method
234(1)
DB Method
235(1)
BusinessCollectionBase
236(2)
ReadOnlyBase
238(1)
ReadOnlyCollectionBase
239(1)
Client-side DataPortal
240(13)
TransactionalAttribute
242(1)
DataPortal
242(2)
Helper methods
244(1)
Creating the server-side DataPortal
245(3)
Handling security
248(1)
Data access methods
249(4)
CSLA.Server.DataPortal
253(12)
Server.DataPortal
254(1)
Creating the assembly
254(1)
Creating the DataPortal class
255(1)
Helper functions
256(5)
Data access methods
261(3)
Updating the CSLA project
264(1)
CSLA.Server.ServicedDataPortal
265(5)
Transactional DataPortal
265(1)
Creating the assembly
265(2)
Creating the DataPortal class
267(1)
Data access methods
268(1)
Updating the CSLA project
269(1)
DataPortal remoting host
270(8)
Server-side DataPortal host
271(1)
Reference CSLA assemblies
272(1)
Add a Web.config file
272(1)
Configure remoting
273(1)
Registering ServicedDataPortal
274(1)
Testing remoting
274(1)
Making the DataPortal useful
274(4)
CSLA.Security
278(20)
Security table
278(1)
Creating the database
279(1)
Adding tables
280(2)
Adding a stored procedure
282(1)
Configuring database permissions
283(1)
Creating the database project
284(2)
Providing test data
286(1)
BusinessIdentity
287(1)
Creating a business object
288(4)
Implementing IIdentity
292(1)
Exposing the roles
293(1)
BusinessPrincipal
293(1)
Implementing IPrincipal
294(1)
Login process
294(4)
Utility classes
298(10)
SafeDataReader
298(1)
Creating the SafeDataReader class
299(2)
NameValueList
301(2)
Creating NameValueList
303(5)
Conclusion
308(3)
Object-oriented application design
311(38)
Application requirements
312(4)
Use cases
313(1)
Project maintenance
314(1)
Resource maintenance
314(1)
Assigning a resource
315(1)
External access
315(1)
Object design
316(11)
Initial design
316(2)
Revising the design
318(1)
Duplicate objects
319(1)
Trivial objects
319(1)
Overly complex relationships
319(5)
Optimizing for performance
324(1)
Reviewing the design
325(2)
Using CSLA .NET
327(3)
Database design
330(12)
Creating the database
331(1)
Tables
331(1)
Roles
332(1)
Projects
332(1)
Resources
333(1)
Assignments
333(1)
Database diagram
334(2)
Stored procedures
336(1)
getProjects
337(1)
getProject
337(1)
addProject
338(1)
updateProject
338(1)
deleteProject
338(1)
addAssignment
339(1)
updateAssignment
339(1)
deleteAssignment
340(1)
getResources
340(1)
getResource
341(1)
addResource
341(1)
updateResource
342(1)
deleteResource
342(1)
Creating the database project
342(4)
Database security
344(2)
Conclusion
346(3)
Business object implementation
349(96)
Business object lifecycle
349(13)
Object creation
350(1)
Root object creation
350(1)
Child object creation
351(3)
Object retrieval
354(1)
Root object retrieval
354(1)
Child object retrieval
355(1)
Updating editable objects
356(1)
Adding and editing root objects
357(1)
Adding, editing, and deleting child objects
358(1)
Deleting root objects
359(1)
Disposing and finalizing objects
360(1)
Implementing IDisposable
360(1)
Implementing a Finalize method
361(1)
Business class structure
362(28)
Common features
362(1)
The Serializable attribute
362(1)
Common regions
362(2)
Private default constructor
364(1)
Nested criteria class
365(2)
Class structures
367(1)
Editable root business objects
368(4)
Editable child business objects
372(4)
Switchable objects
376(2)
Editable root collection
378(3)
Editable child collection
381(3)
Read-only business objects
384(2)
Read-only collections of objects
386(2)
Name-value list objects
388(2)
Project tracker objects
390(51)
Setting up the project
392(1)
Business class implementation
393(1)
The Project class
394(16)
RoleList
410(1)
Resource
411(6)
Assignment
417(3)
ProjectResource
420(6)
ResourceAssignment
426(3)
ProjectResources
429(6)
ResourceAssignments
435(1)
ProjectList
436(4)
ResourceList
440(1)
Conclusion
441(4)
Windows Forms UI
445(46)
Windows Forms interface
446(43)
Application configuration
447(1)
Application configuration file
447(2)
Configuring the DataPortal server
449(2)
Main form
451(1)
Menu
451(1)
Status
452(2)
Login form
454(1)
The login dialog
455(2)
Doing the login
457(1)
Updating the menu
458(1)
Using Windows' integrated security
459(1)
Project list
460(1)
ProjectSelect dialog
460(2)
Project edit
462(1)
ProjectEdit form
462(13)
Updating the menu
475(2)
Removing a project
477(1)
Resource list
478(1)
ResourceSelect dialog
478(2)
Removing a resource
480(1)
Resource edit
481(1)
The ResourceEdit form
481(6)
Updating the menu
487(2)
Conclusion
489(2)
Web Forms UI
491(64)
Web development and objects
491(2)
State management
493(6)
State on the web server
494(1)
Using a web farm in ASP.NET
495(1)
Transferring state to/from the client
496(1)
State in a file or database
497(2)
Web Forms interface
499(54)
Application configuration
500(1)
The Web.config file
501(1)
Using a separate DataPortal server
502(1)
UI overview
503(1)
Default form
503(2)
Login form and security configuration
505(1)
Changing the Web.config file
505(1)
Login form
506(3)
Global.asax
509(1)
Projects form
510(1)
Setting up the form
511(3)
Coding the form
514(4)
ProjectEdit form
518(1)
Setting up the form
518(3)
Coding the form
521(8)
The ChooseRole form
529(1)
Setting up the form
530(1)
Coding the form
530(4)
The AssignResource form
534(1)
Setting up the form
534(2)
Coding the form
536(2)
Resources form
538(2)
The ResourceEdit form
540(1)
Setting up the form
541(3)
Coding the form
544(6)
The AssignToProject form
550(3)
Conclusion
553(2)
Web services interface
555(38)
Overview of web services
556(3)
SOAP
556(1)
Message-based communication
557(1)
SOAP and web services
557(1)
SOAP, web services, and the .NET Framework
558(1)
Web services as an interface
559(4)
A web service for every tier?
560(1)
A web service as the 'user interface'
561(1)
Web services and contracts
562(1)
Implementing a web services interface
563(22)
Web service design
563(1)
Deciding on web methods
564(1)
Grouping web methods into web services
564(1)
Returning our data
565(2)
Security
567(1)
Web service implementation
568(1)
Creating the project
568(3)
Creating the web service
571(1)
Handling security on the server
572(4)
Defining data structures
576(2)
Get a project list
578(2)
Get a project
580(2)
Add or update a project
582(1)
Delete a project
583(1)
Resource web services
584(1)
Web service consumer implementation
585(6)
Creating the project
586(1)
Handling security on the consumer
587(3)
Calling web services
590(1)
Conclusion
591(2)
Reporting and batch processing
593(68)
What's not to like?
594(1)
Dealing with distributed environments
595(1)
Avoiding data transfer
595(1)
Providing background processing
596(1)
Dealing with object-oriented applications
596(2)
Reporting and objects
596(1)
Batch processing and objects
597(1)
Batch queue server
598(46)
CSLA.BatchQueue design
599(1)
The role of the BatchQueueService object
600(1)
The role of the BatchEntry object
601(1)
The role of the BatchEntryInfo object
602(1)
Security and user identities
603(1)
Creating the BatchQueue assembly
603(1)
IBatchEntry interface
604(1)
BatchEntryInfo class
605(2)
BatchEntries class
607(1)
Client-side BatchQueue class
608(3)
Server-side BatchQueue class
611(2)
BatchEntry class
613(3)
BatchJobRequest class
616(2)
BatchQueueService class
618(22)
Creating and running batch jobs
640(1)
Creating a batch job
640(2)
Submitting a batch job
642(2)
Loading a DataSet from objects
644(15)
The ObjectAdapter class
645(1)
Operational scope
645(1)
Setting up the class
646(1)
GetField method
646(3)
Automatic discovery of properties and fields
649(4)
Populating a DataTable from an IList
653(2)
Implementing the Fill methods
655(2)
Reporting using ObjectAdapter
657(2)
Conclusion
659(2)
Appendix A: NetRun
661(22)
No-touch deployment
661(4)
Security considerations
662(1)
Object serialization workaround
663(1)
Reading application configuration settings
663(1)
Preventing browser popup
664(1)
NetRun design
665(2)
NetRun implementation
667(12)
Main module
667(1)
Helper methods
667(1)
Sub Main
668(1)
RunApplication
669(2)
Launcher class
671(1)
RunApp
671(2)
Serialization bug workaround
673(1)
Set FullTrust security
674(3)
Revoke FullTrust security
677(2)
Installing NetRun
679(1)
Using NetRun
679(1)
Conclusion
680(3)
Indexes 683

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program