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.

9780672315480

Bordland Jbuilder Unleashed

by ; ; ; ;
  • ISBN13:

    9780672315480

  • ISBN10:

    0672315483

  • Edition: CD
  • Format: Paperback
  • Copyright: 1999-08-01
  • Publisher: Sams
  • 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: $49.99

Summary

JBuilder 3 Unleashed is designed to help intermediate to advanced level Java developers obtain the information and techniques needed to create mission critical JBuilder applications. The book picks up where most JBuilder books leave off and provides the information needed by developers to create robust and maintainable JBuilder Client/Server and multi-tier applications. Topics covered include: Advanced object-oriented design and programming techniques in Java, Enterprise JavaBeans, Serialization, Threading, NMI, Multi-tier development: implementation of applications and applets, RMI, CORBA, Enprise's MIDAS technology, N-tier, Application Development, Source code control, Deployment.

Table of Contents

INTRODUCTION 1(6)
PART I GETTING STARTED 7(32)
1 CHOOSING JBUILDER
9(30)
Using JBuilder 3
11(5)
The Integrated Development Environment (IDE)
12(3)
Pure Java
15(1)
Database Capabilities
15(1)
Java as the Preferred Development Language
16(5)
Java as a Pure Object-Oriented Language
17(1)
Java as an Efficient Language
18(1)
Java as a Meta-platform
19(1)
Java as a Dynamic Interpreter
20(1)
Java as a Client and Server Language
20(1)
Java as an Elegant Language
21(1)
Java as the Deferred Development Language
21(1)
JBuilder 3 IDE Shortcuts
22(6)
Next Window
23(1)
Moving Through Files
23(1)
Toggle Curtain
23(1)
Show/Hide Object Inspector
23(1)
Bookmarks
24(1)
Drilling Down
24(1)
Macro Recorder
25(1)
Incremental Search
26(1)
Match Delimiter
27(1)
JBuilder 3 IDE Techniques
28(10)
Using Doc Instead of Help
28(1)
Save and Undo
28(1)
JavaDoc Wizard
29(1)
The tools.cfg File
30(2)
Snippets
32(6)
From Here
38(1)
PART II DESIGN AND TEAM DEVELOPMENT STRATEGIES 39(104)
2 SOFTWARE LIFE CYCLE MODELS
41(18)
Why Life Cycle Considerations Are So Important
42(2)
Stages of Development
44(2)
Requirements Gathering
44(1)
Analysis
45(1)
Design
45(1)
Implementation
45(1)
Testing
45(1)
Deployment
45(1)
Maintenance
46(1)
Choosing a Life Cycle Model
46(11)
Case Study 1: LTC Time and Billing Revisited
46(3)
Traditional Waterfall Model
49(2)
Iterative Development
51(2)
Staged Delivery
53(1)
Other Life Cycles
54(2)
Case Study 2: Steck Consultants Revisited
56(1)
Risk Management
57(1)
From Here
58(1)
3 REQUIREMENTS GATHERING
59(20)
The Importance of Interviewing
60(1)
Needs Versus Solutions
61(1)
Traditional Requirements Enumeration
62(2)
Use Case Development
64(6)
Defining Actors and Requirements
64(3)
Identifying Use Cases
67(3)
Testing Use Cases with Scenarios
70(3)
Case Study: Applying the Use Cases
71(1)
Case Study: Testing the Use Cases
72(1)
The Role of Prototypes
73(2)
Joint Applications Development
75(1)
Budget-Based Requirements Identification
75(1)
Feature Creep
76(1)
Additional Requirements Documents
77(1)
From Here
78(1)
4 OBJECT-ORIENTED ANALYSIS
79(12)
Real-World Abstraction
80(1)
Problems with Object-Oriented Analysis
81(2)
Identifying Objects and Classes
83(3)
The UML Modeling Notation
86(1)
Creating Sequence Diagrams
86(1)
Using Collaboration Diagrams
87(1)
Establishing Relationships and Cardinality
88(1)
HAS A Relationships
88(1)
USES A Relationships
88(1)
IS A Relationships
89(1)
Using Java Classes in Analysis
89(1)
From Here
89(2)
5 OBJECT-ORIENTED DESIGN
91(10)
Analysis Versus Design
92(2)
Analysis Walkthroughs
94(1)
Semantic Abstraction
95(1)
Inheritance Versus Aggregation
95(1)
Design Patterns
96(1)
Architectural Design
97(1)
Designing a Component Architecture
97(1)
Designing a Runtime Architecture
97(1)
Designing a Deployment Architecture
97(1)
Design Reviews
98(1)
Personnel Decisions in Object-Oriented Design
98(1)
From Here
98(3)
6 TESTING METHODOLOGIES
101(10)
Why Testing Is Critical
102(1)
Testing Teams
103(1)
Walkthroughs
104(1)
Class Testing
105(1)
Collaboration Testing
105(1)
Integration and System Testing
106(1)
Automated Testing
106(1)
Daily Build and Smoke Tests
107(1)
Data Model Testing
108(1)
From Here
108(3)
7 VERSION CONTROL STRATEGIES
111(14)
Why Version Control?
112(1)
Using the Workgroups Menu
113(8)
Setting Working Directories
114(1)
Adding a Project to Version Control
114(3)
Checking In Files
117(1)
Checking Out Files
118(1)
Labeling Releases
119(1)
Retrieving a Labeled Release
120(1)
Managing Projects and Files in a Team Environment
121(1)
Files Outside the Project
122(1)
Other Version Control Options
122(1)
From Here
123(2)
8 CODING STANDARDS
125(18)
The Case for Coding Standards
126(17)
Coding Standards Do Not Reduce Creativity
127(1)
Coding Standards Speed Development Time
127(1)
Coding Standards Reduce Decision Making
127(1)
Naming Conventions for Variables, Methods, and Classes
128(1)
Class and Package File Naming Conventions
129(1)
Component Naming Conventions
130(1)
Comments
131(4)
JavaDoc
135(5)
Best Practices
140(1)
From Here
141(2)
PART III LANGUAGE AND ENVIRONMENT TECHNIQUES 143(388)
9 OBJECT-ORIENTED PROGRAMMING IN JAVA AND JBUILDER
145(30)
Object-Oriented Programming Syntax in Java
147(3)
Defining Classes
147(1)
Adding Member Variables
148(1)
Creating a Constructor
148(2)
Constructors, Destructors, and Finalizers
150(1)
Instantiating Classes
151(1)
Packages and Scoping
152(1)
Class Scoping
153(6)
Creating Accessor Methods
155(2)
Method Overloading
157(2)
Creating Class Packages
159(2)
Using Inheritance
161(4)
Aggregation in Classes
165(3)
Creating Classes Using JBuilder
168(5)
From Here
173(2)
10 ADVANCED OBJECT-ORIENTED PROGRAMMING CONCEPTS
175(22)
Typecasting in Java
177(5)
Abstract Classes
182(2)
Polymorphism
184(1)
Final Classes
185(1)
Class Variables
186(1)
Static Methods
187(2)
Interfaces
189(5)
From Here
194(3)
11 LAYOUT MANAGERS
197(24)
Managing Layouts
198(1)
Using Containers
199(3)
Window Classes
200(1)
Panel Classes
201(1)
Using the Layout Manager
202(2)
Constraints
202(2)
Properties
204(1)
Layout Classes
204(14)
The Abstract Windowing Toolkit (AWT)
204(7)
The JavaBeans Component Library (JBCL)
211(7)
Nested Layouts
218(1)
From Here
219(2)
12 EVENT HANDLING
221(36)
Java's Event Model
223(8)
Sources and Listeners
224(6)
Event Adapter Classes
230(1)
Basic Event Types in Java
231(19)
Low-Level Versus Semantic Events
232(1)
Low-Level Events
233(13)
Semantic Events
246(4)
Event Handling Techniques in JBuilder
250(5)
Standard and Anonymous Event Adapters
251(1)
Creating an Event Handler in a Single Step
252(1)
Disabling and Removing an Event Handler
253(1)
Sharing Event Handlers
253(2)
From Here
255(2)
13 JAVABEANS
257(44)
The JavaBeans Architecture
259(3)
Features of JavaBeans
259(2)
Design Patterns
261(1)
Developing JavaBeans Using JBuilder's BeansExpress
262(1)
The BeanInfo Class
263(2)
Creating a Simple JavaBean
265(1)
Adding Properties
266(8)
Bound Properties
271(2)
Constrained Properties
273(1)
Creating Property Editors
274(11)
Creating a String List Editor
276(4)
Creating a String Tag List Editor
280(2)
Creating an Integer Tag List Editor
282(1)
Creating a Custom Editor Component
283(2)
Adding Events
285(4)
Using Custom Event Sets
289(2)
Adding Support for Serialization
291(1)
Creating a BeanInfo Class
292(2)
Adding a JavaBean to the Component Palette
294(2)
Validating a JavaBean with the BeanInsight Wizard
296(2)
From Here
298(3)
14 EXCEPTION HANDLING
301(26)
The Need for Exception Handling
302(3)
Catching Exceptions
305(12)
Setting Up a try-catch Block
305(2)
Using Multiple catch Blocks
307(2)
Implicit Exception Propagation
309(1)
Throwable's Methods
309(2)
When Exceptions Are Not Caught
311(1)
The finally Block
312(4)
Scope Rules Regarding Exception Blocks
316(1)
Throwing Exceptions
317(6)
The throw and throws Keywords
317(3)
Rethrowing Exceptions
320(3)
Exception Types
323(1)
Extending the Throwable Class
324(2)
From Here
326(1)
15 JBUILDER'S DEBUGGER
327(20)
Debugger Changes to the IDE
329(6)
The Debug Tab
331(2)
The Watch Tab
333(2)
Controlling Program Execution
335(2)
Step Over
335(1)
Trace Into
335(2)
Run to Cursor
337(1)
Run to End of Method
337(1)
Examining Values
337(4)
Watch
337(1)
Inspect
338(1)
Evaluate/Modify
339(2)
Using Breakpoints
341(5)
Source Breakpoints
343(1)
Exception Breakpoints
343(1)
Breakpoint Actions
344(1)
Viewing Breakpoints
344(2)
From Here
346(1)
16 LOW-LEVEL FILE I/O
347(38)
Streams
348(5)
The java.lang.System Class
349(2)
The java.io Package
351(2)
Handling I/O Exceptions
353(1)
IOException
353(1)
FileNotFoundException
354(1)
EOFException
354(1)
ObjectStreamException
354(1)
Reader Classes
354(6)
InputStreamReader and FileReader
355(2)
StringReader
357(1)
BufferedReader
358(1)
PipedReader
359(1)
Writer Classes
360(3)
OutputStreamWriter and FileWriter
360(2)
StringWriter
362(1)
BufferedWriter
362(1)
Pipedwriter
363(1)
Byte Stream Classes
363(5)
ObjectStreamClass
364(1)
StreamTokenizer
364(4)
PrintStream and PrintWriter
368(2)
IoBean and ConcordanceClass
370(6)
wordProcessor.jpr
376(4)
Nonstreaming I/O Classes
380(3)
The java.util.zip Package
383(1)
From Here
383(2)
17 SERIALIZATION
385(32)
Serialization Defined
386(1)
The Serializable and Externalizable Interfaces
387(2)
Serializing and Deserializing Objects
389(2)
Uses for Serialization
391(24)
Saving State Information
392(20)
Using bean.instantiate()
412(3)
RMI and Marshaling
415(1)
From Here
415(2)
18 THE MODEL-VIEW-CONTROLLER ARCHITECTURE
417(24)
MVC Defined
418(4)
Model
419(1)
View
419(1)
Controller
419(1)
Model-View-Controller
420(1)
MVC and the Delegate Implementation
421(1)
Case Study: The List Model
422(4)
Case Study: JExplorer and the Tree Model
426(14)
The "View" Centric Implementation
427(3)
The MVC Implementation
430(10)
From Here
440(1)
19 JAVA NATIVE INTERFACE (JNI)
441(10)
Using the JNI
443(1)
Creating a JNI Application with JBuilder
444(5)
Creating and Compiling the Java Application
444(1)
Creating the Header File
445(2)
Creating the C/C++ File
447(1)
Creating the Shared Library
448(1)
From Here
449(2)
20 THREADING TECHNIQUES
451(28)
The Concept of Threads
452(2)
Advantages of Using Threads
454(1)
Drawbacks of Using Threads
454(1)
Creating Threads in Java
454(6)
Using the java.lang.Thread Class
455(4)
Working with Constructors
459(1)
Executing Threads
460(5)
The run() Versus start() Methods
460(4)
Monitors and Synchronization
464(1)
Terminating Threads
465(4)
Setting Thread Priorities
469(2)
The java.lang.Runnable Interface
471(2)
ThreadGroups
473(5)
From Here
478(1)
21 USER INTERFACE TECHNIQUES
479(24)
Creating Splash Screens
481(9)
Java Foundation Classes
490(11)
Using JToolBar
491(2)
Pluggable "Look-and-Feel" Classes (PLAF)
493(6)
Creating MDI Applications
499(2)
Using java.awt.Cursors
501(1)
From Here
502(1)
22 INTERNATIONALIZATION AND RESOURCE BUNDLES
503(28)
Internationalization Terms and Classes
505(1)
Internationalization Standards
506(2)
The ASCII Standard
507(1)
The Unicode Standard
507(1)
The java.util.Locale Class
508(8)
Resource Bundles
516(13)
java.util.ResourceBundle
517(1)
java.util.ListResourceBundle
518(5)
java.util.PropertyResourceBundle
523(4)
com.borland.jb.util.ArrayResourceBundle
527(2)
From Here
529(2)
PART IV DATABASE DEVELOPMENT 531(234)
23 DATABASE ACCESS
533(12)
JDBC and JBuilder
534(2)
Types of Drivers
536(5)
Type 1: JDBC-ODBC Bridge
536(1)
Type 2: Native-API/Partly-Java Drivers
537(1)
Type 3: Net-protocol/All-Java Drivers
537(3)
Type 4: Thin Drivers
540(1)
JDBC Explorer
541(3)
Connection URLs
542(1)
Viewing and Manipulating Data
542(1)
Entering SQL
543(1)
From Here
544(1)
24 DATA AWARE CONTROLS
545(24)
Relationship Between Data Controls in JBuilder
546(4)
The Database Component
550(4)
Database Connections
551(1)
Transaction Processing
552(2)
JBCL Controls
554(10)
QueryDataSet
554(1)
SQL Builder
555(6)
NavigatorControl
561(1)
GridControl
562(1)
Other Data Aware Controls
563(1)
dbSwing
564(2)
JavaBeans Revisited: dbPanel
566(2)
From Here
568(1)
25 DATA MODULES
569(18)
Overview of Data Modules
570(1)
Creating DataModules
571(6)
Encapsulating Database Connections
572(2)
Encapsulating Data Access for Entities
574(3)
Shared Versus Single Instance
577(2)
DataStore
579(6)
From Here
585(2)
26 COLUMN COMPONENTS
587(22)
Persistent Versus Automatic Columns
589(1)
The Column Designer
589(2)
Setting Visual Characteristics
591(6)
currency Property
592(1)
Masks Properties
593(4)
Column Component Events
597(4)
coerceToColumn and coerceFromColumn
598(1)
Column Value Change
598(1)
Data Validation
598(3)
Calculated Columns
601(2)
Pick Lists
603(5)
Choice Controls
604(1)
PopupPickListItemEditor
605(3)
From Here
608(1)
27 RESOLVERS AND PROVIDERS
609(26)
The Resolution Process
610(6)
Providing Versus Resolving
611(1)
The Resolution Order
612(2)
Update Mode
614(2)
Handling Resolution Errors
616(5)
Creating Custom Providers
621(12)
The ExceptionLog Bean
621(4)
Custom Provider for Exception Logs
625(8)
From Here
633(2)
28 PARAMETERIZED QUERIES
635(14)
Parameter Types
636(1)
Named Parameters
637(1)
Positional Parameters
637(1)
Parameter Source Options
637(1)
DataSet
638(1)
ParameterRow
638(1)
Permutations on Parameter Options
638(10)
Named/DataSet
639(4)
Named/ParameterRow
643(3)
Positional/DataSet
646(2)
From Here
648(1)
29 CLIENT/SERVER TECHNIQUES
649(42)
Locating Records
651(4)
LocatorControl
651(1)
locate() Method
652(3)
Filtering Data
655(8)
Client-Side Filtering
656(4)
Server-Side Filtering
660(3)
Sorting Data
663(12)
Client-Side Sorting
667(4)
Server-Side Sorting
671(4)
Master/Detail Relationships
675(7)
Delayed Fetch
675(1)
Updating Joined Queries
676(2)
Cascading Inserts, Updates, and Deletes
678(2)
Working with Many-to-Many Relationships
680(2)
Working with BLOBs
682(7)
From Here
689(2)
30 STORED PROCEDURES
691(16)
Using Stored Procedures
692(2)
Stored Procedure Advantages
693(1)
Stored Procedure Disadvantages
693(1)
Creating Stored Procedures
694(3)
Returning Values
697(1)
Single Values
697(1)
Result Sets
698(1)
DataExpress Components
698(3)
QueryDataSet
698(1)
ProcedureDataSet
699(2)
Parameterized Stored Procedures
701(4)
Output Parameters
701(1)
Input Parameters
702(3)
From Here
705(2)
31 THREADED QUERIES
707(34)
Encapsulating Data Access in Threads
709(1)
Case Study: Threaded Queries
709(31)
Data Aware Threads
709(12)
Synchronizing Threads
721(19)
From Here
740(1)
32 EXTENDING THE MVC ARCHITECTURE
741(24)
Master-Detail Tree View
742(5)
Low Capacity DBTree Model
747(10)
High Capacity DBTree Model
757(6)
From Here
763(2)
PART V APPLETS AND DEPLOYMENT 765(40)
33 APPLET DEVELOPMENT
767(20)
Applet Architecture
768(5)
Applet Methods
769(2)
Applets and Security
771(2)
Developing Applets in JBuilder
773(13)
The Applet Wizard
773(6)
Implementing the Applet Methods
779(3)
Passing Parameters to an Applet
782(2)
Making a Standalone Applet
784(2)
From Here
786(1)
34 DEPLOYMENT STRATEGIES
787(18)
Deployment Models
788(1)
The Conventional Model
789(1)
The Client/Server Model
789(6)
Web Browser Deployment
791(2)
Using the Inprise Deployment Server for Java
793(2)
The Standalone Application Model
795(1)
Deploying Software with JBuilder
795(9)
Deployment Tips and Guidelines
796(1)
Using the Deployment Wizard
797(6)
Setting the ARCHIVE Attribute
803(1)
From Here
804(1)
PART VI MULTITIER APPLICATION DEVELOPMENT 805(206)
35 APPLICATION PARTITIONING
807(20)
Partitioning Single-Tier Applications
809(13)
Reconciling Objects with Relational Databases
810(1)
Mapping to Pure Objects
810(2)
Business Rules Classes
812(1)
Case Studies
813(9)
Scaling to Multiple Tiers
822(2)
Scaling to Two Tier
822(1)
Scaling to N-tier
823(1)
From Here
824(3)
36 TWO-TIER CLIENT/SERVER
827(16)
Choosing an Architecture
828(2)
Fat Client/Thin Server
830(5)
Generating Key Values
830(2)
Handling Business Rules
832(3)
Thin Client/Fat Server
835(4)
Generating Key Values
835(1)
Handling Business Rules
836(3)
Common Two-Tier Techniques
839(1)
Inserts in Master/Detail
840(1)
Limiting Result Sets
840(1)
From Here
840(3)
37 DEVELOPMENT WITH RMI
843(44)
RMI Defined
844(6)
RMI Architecture
845(1)
Interfaces
846(1)
Stubs and Skeletons
847(2)
Marshaling Data Types
849(1)
Creating RMI Servers
850(3)
Creating the Server
850(1)
The RMIRegistry
851(1)
RMI Security Concerns
852(1)
Creating RMI Clients
853(1)
TimeClock Application
854(21)
TimeClock Interface
854(2)
TimeClock Server
856(16)
TimeClock Client
872(3)
TimeLog Application
875(10)
TimeLog Interface
875(2)
TimeLog Server
877(6)
TimeLog Client
883(2)
Advantages and Disadvantages
885(1)
From Here
886(1)
38 DEVELOPMENT WITH CORBA
887(46)
CORBA Defined
889(9)
CORBAservices
890(2)
IDL (Interface Definition Language)
892(4)
IDL Compiler Output
896(2)
Creating a Simple CORBA Application
898(11)
Creating a CORBA Server
898(9)
Creating a CORBA Client
907(2)
Using the Application Generator
909(18)
Creating a Simple Server and Client
910(9)
Creating Data-Oriented CORBA Applications
919(7)
Application Generator Templates
926(1)
Advanced CORBA Concepts
927(3)
Inheritance Versus Tie Interfaces
927(1)
Transaction Service
928(1)
The Design of Distributed Applications
928(2)
CORBA Advantages and Disadvantages
930(1)
Disadvantages of CORBA
930(1)
Advantages of CORBA
930(1)
From Here
931(2)
39 APPLICATION SERVER AND APPCENTER
933(20)
Application Server
934(12)
Application Server Runtime
936(1)
Application Server Developer Console
937(9)
AppCenter
946(5)
The AppCenter Repository
946(1)
The AppCenter Viewer
947(4)
From Here
951(2)
40 SERVLETS
953(42)
Introduction to Servlets
955(1)
The Benefits of Using Servlets
956(1)
Understanding Servlets
957(1)
Servlet Design Time and Runtime Requirements
958(1)
Administering the Java Web Server
959(9)
Adding a Servlet
961(2)
Configuring a Servlet
963(2)
Setting Up a Servlet Alias
965(2)
Plug-in Servlet Engines
967(1)
Developing Servlets with the Java Servlet API
968(7)
The Servlet Interface
968(1)
A Servlet's Life Cycle
969(1)
The HttpServlet Class
969(1)
The Servletconfig Interface
970(1)
The ServletContext Interface
971(1)
The ServletRequest and ServletResponse Interfaces
971(2)
The HttpServletRequest and HttpServletResponse Interfaces
973(1)
The ServletInputStream and ServletOutputStream Classes
974(1)
The Servlet Wizard
975(10)
Generating Dynamic HTML Content
981(2)
Running the HTMLServlet1 Servlet
983(2)
Accessing a Database from a Servlet
985(5)
Inter-Servlet Communication
990(3)
From Here
993(2)
41 ENTERPRISE JAVABEANS (EJB)
995(16)
EJB Defined
996(2)
EJB Containers
998(2)
Bean Types
1000(3)
Session Beans
1001(1)
Entity Beans
1002(1)
Transactions
1003(2)
Managing Transactions
1003(1)
Transaction Rules
1004(1)
Common EJB Methods
1005(2)
ejbCreate()
1005(1)
ejbRemove()
1006(1)
ejbLoad()
1006(1)
ejbStore()
1006(1)
ejbActivate()
1006(1)
ejbPassivate()
1007(1)
JBuilder Support for EJB
1007(2)
From Here
1009(2)
INDEX 1011

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