Footnotes

[Previous] [Next]

Chapter 2

1. Ivar Jacobson quit his job at Ericsson to form his new company, which developed the Objectory methodology for object-oriented analysis and design. He later sold that company to Ericsson, which in turn sold it to Rational. Jacobson is now one of the Three Amigos, Grady Booch and Jim Rumbaugh being the other two.

2. An actor is in reality not a person or a user, but a role that can be played by a person, a user, or even another system. Perfect examples of actors are salesperson, accountant, and invoicing system. As a matter of fact, actor roles are similar to the security rules used by COM+ applications and MTS packages, which is an extra bonus to the analyst who uses a product such as Rational Rose to capture requirements in use case models and also uses COM+ or MTS to run the objects that are created from the models.

3. Addison-Wesley Publishing Company, 1994.

4. The other two contributions are, in our opinion, transaction management and security management. At least, those are the other two seen from an MTS perspective. If you consider the overall view from the perspective of COM+, you must add several other contributions as well.

5. To make a component run under MTS, you install it in an MTS package. If you're running Windows 2000 and thus COM+, you do exactly the same—except the packages are called applications in COM+. You'll read more about MTS packages in Chapter 14, "Using Microsoft Transaction Server," and more about COM+ applications in Chapter 15, "A COM+ Overview."

Chapter 3

1. A stored procedure is a collection of precompiled database statements. Because the statements are precompiled, they execute quickly.

2. A constraint is a property that can be placed on a table or a column to ensure that values meet specific restrictions, such as being unique. A trigger is a special stored procedure that executes when data in a specific table is modified.

3. In the case of Microsoft SQL Server, this variation is Transact-SQL. You could describe it as an extended version of standard ANSI 92 SQL, enriched with constructs for selection (for example, IF), iteration (WHILE), and others (WAITFOR).

4. This is mostly true also with SQL Server 7.0, even though this version has functionality that allows it to reuse the parsed, optimized, and compiled versions of similar SQL statements.

Chapter 4

1. This is not entirely true. If you set up the BredIn column of the Horses table to accept NULL, you must change that statement to something like, "Each horse may be connected to a maximum of one country."

2. You could also use a stored procedure, but if you decide to honor this rule in the database you're probably much better off with a trigger than with a procedure.

3. This, by the way, is true for stored procedures as well.

4. As you probably know, Microsoft SQL Server started its life as Sybase's database product that was ported first to OS/2 and then to Microsoft Windows NT; the Sybase product is still available on a bunch of operating systems. Now the two products are altogether separate. Microsoft SQL Server 7.0 is said to be totally rewritten—so much so that not a single line of Sybase code remains in the product.

5. This is a very simple trigger. We're using, however, a virtual variable, in which we save data from a virtual table. This is quite abstract but not at all atypical for a trigger. You'll have to learn a new way of thinking if you want to implement business rules in complex triggers, which are quite a bit different from this simple one.

6. Only one statement can depend on an IF or a WHILE. If more than one has to, you must enclose them within a BEGIN and END pair, as in the example.

7. Yes, we know! If the cloned recordset is empty, the rs.MoveFirst method will fail and cause a Visual Basic error. Our code should make sure this doesn't happen. All through this book, however, we prefer to focus on the subject matter of the book rather than add all the code needed to make our application professional and foolproof. We believe that this strategy helps you get our messages more easily. Hope you agree!

8. In the standard check constraint on the Birthyear column, we use the nonstandard CONVERT function. This makes the database less portable, but if you want to make maximum use of a database product, you normally need to use nonstandard functionality. In our opinion, this is often wise to do.

9. MTS as well as COM+ uses Microsoft Distributed Transaction Coordinator for transactions.

10. The horse, not the transaction monitor. Tuxedo is an actual horse, running in Sweden. We're not kidding you!

Chapter 5

1. Some would prefer to call them applications or workflow classes.

2. Increasingly, user interfaces will be implemented as HTML or dynamic HTML (DHTML) pages. When you need a prototype user interface mainly to test a server application, a Visual Basic form is still a hard-to-beat champion.

Chapter 6

1. Make sure you have installed Service Pack 1 of Rose 98i or run the Rose 2000 product before you start using the Model Assistant.

2. We used to say WHERE 0 = 1, which worked fine in Microsoft SQL Server. But we discovered that IBM's DB2 product interpreted this as the first column = the second column, so we changed to WHERE 'A' = 'B'. This, we believe, makes the code more portable and just as effective.

3. In the text we say invisible; in our screenshots they're visible. In reality, they should be invisible; in our samples, we thought you should see them just the same.

4. Using COM mechanisms is especially vital if you're developing for MTS, but also if you're developing for COM+; if you use another mechanism, such as New in Visual Basic, you run the risk that MTS or COM+ won't even be informed, in which case they can't do anything for you.

5. One reader of a prepublished version of this book wanted to know more about Nijinsky II. "If he wasn't born in the United States, where was he born? You make me curious writing like this." So here goes: Nijinsky II was born in Great Britain (or possibly Ireland—I don't remember and haven't been able to find out) in 1967. He was elected European Horse of the Year in 1969 and 1970, and then he retired. He is one of the few English Triple Crown winners, meaning that he won all three of the classical races as a three-year-old—the Epsom Derby, the Saint Leger Stakes, and the Two Thousand Guineas—ridden as usual by Lester Piggott. Since 1971, Nijinsky II has been a champion sire—a very successful one, with hundreds of stake-winning sons and daughters. A truly great one!

Chapter 10

1. If you have installed Service Pack 1 for Rational Rose 98i, you can also use the realize relationship, which is the one you really should use. You should, however, avoid that relationship in earlier versions of Rose. Why is that? Because it had bugs, which were removed in the Service Pack.

2. The Swedish word for a male horse is "hingst," remember?

Chapter 11

1. Actually, we call them brädgård, but most of you wouldn't understand that.

Chapter 13

1. Inside Microsoft SQL Server 7.0, Ron Soukup and Kalen Delaney, Microsoft Press, 1999.

Chapter 14

1. Roger Jennings' Database Workshop: Microsoft Transaction Server 2.0, Steven Gray and Rick Lievano, Sams Publishing, www.samspublishing.com, ISBN 0-672-31130-5.

2. Programming Distributed Applications with COM and Microsoft Visual Basic 6.0, Ted Pattison, Microsoft Press, mspress.microsoft.com, ISBN 1-57231-961-5.

3. Designing Component-Based Applications, Mary Kirtland, Microsoft Press, mspress.microsoft.com, ISBN 0-7356-0523-8.

4. Just to get the terminology right: we program a class; then we make a compiled component based on that class available as a DLL or an EXE. That DLL or EXE might contain several components, each of which is based on a different class. A component that will run under the control of MTS must be compiled within a DLL—an EXE is not the right container for such a component.

5. Distributed Applications with Microsoft Visual Basic 6.0 MCSD Training Kit, Microsoft Corporation, Microsoft Press, mspress.microsoft.com, ISBN 0-7356-0833-4.

Chapter 15

1. The statement that if something can go wrong, it will is called Murphy's Law. Some experienced software creators claim that Murphy was an optimist.

Chapter 17

1. This is a simplified description. In reality, SQL Server uses more sophisticated mechanisms to efficiently save and discard different kinds of cached objects.

2. When you denormalize a database, you step back from the third normal form, normally to increase performance when selecting data from the database. While denormalization increases the performance of some queries, it decreases the performance of others. It also adds integrity risks, so you shouldn't take lightly a decision to denormalize a production database. If you want to know more about normal forms, there's no shortage of books dealing with the concept. A recently issued book with more than 20 pages about normal forms and normalization is Rebecca Riordan's Designing Relational Database Systems, published by Microsoft Press.

3. If you install your business components in MTS packages or COM+ applications, you don't have to issue BEGIN, COMMIT, or ROLLBACK TRANSACTION commands. In fact, you absolutely shouldn't. All you have to do is put your methods inside components that require transactions.

4. That is, if that user doesn't issue a dirty read, meaning that he or she doesn't care if the information is uncommitted and might never be real.

Chapter 23

1. Set the transactional attribute for the RaceTrSrvcs component to Required or Requires New; set the transactional attribute for the RaceEntrantTrSrvcs component to Required or Supported.



Designing for scalability with Microsoft Windows DNA
Designing for Scalability with Microsoft Windows DNA (DV-MPS Designing)
ISBN: 0735609683
EAN: 2147483647
Year: 2000
Pages: 133

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net