Accounting Programs

Web Service Walkthrough

Traditionally, a rich Windows client uses DCOM to communicate with the server and invoke remote objects. Configuring DCOM to work properly in a large network is usually a challenge that most IT professionals dread. In fact, most IT professionals would rather put up with the limited functionality of a browser than the issues of running DCOM over an intra net. The result, in my opinion, is an application that is easy to deploy, but difficult to develop and severely limited in its user interface. This ultimately means you spend more time and money developing what is, from a user*s standpoint, a less functional application. To know exactly what I mean, ask an accountant what they think about the new Web-based accounting application that replaced the older Windows version. Most business application users would rather have the rich Windows user interface.

Finding Trading Partners Services

Let*s say your company purchases a new business accounting application that supports electronic invoicing. The application is designed to send XML invoice documents to Web services that implement a hypothetical standard invoicing interface called Xinvoice. After installing the application, an accountant begins entering a list of current customers including each customer's name and contact information. When entering a customer called Acme Autos, the accountant sees a button labeled Send electronic invoices* and clicks it. The application then initiates a UDDI query asking for a business named Acme Autos that implements the standard Xinvoice interface as shown in figure 11 -4. Although the accountant could have obtained Acme Auto*s end point URL through other means (e.g. calling them or getting it from their Web site), UDDI does make it more convenient and takes away some of the friction involved in setting up ecommerce. Note that for this scenario to work, the accounting application...

Apply Your Knowledge

You are a developer in a large manufacturing company. You are developing a complex inventory control application with a team of 15 other developers. You have written two program modules, inv1234.cs and inv5678.cs, that are generic and will be used from several other applications within the company. You compiled both the program modules using the Visual C .NET compiler, producing inv1234.netmodule and inv5678.netmodule files. You now want to link both compiled modules into an assembly that you will install in the GAC to test some Web forms that depend on this assembly. You have decided to keep the name of the assembly as InvLib.dll. You do not have access to the private key of the company, although you have access to company's public key. The public key is stored in a file named BigCoPublic.snk. When the testing is completed, your project manager will use the private key (stored in a BigCoPrivate.snk file) to fully sign all the assemblies in the accounting software application. Which...

Topic Transactions

While the underlying database(s) may assure us that each individual operation is atomic (either all customer accounts are credited or they are not), the code as it exists does not guarantee collective atomicity. It is possible that after crediting each customer account, the system might crash and the company account not be debited. This unfortunate predicament is sure to confuse the company's accountant.

Single Tier Solutions

A single-tier architecture is the simplest form of application architecture. Single-tier applications, sometime called standalone applications, have everything they need to run installed locally on the client computer (also called a client workstation). Typically, these applications consist of a single binary executable (EXE) file, although you will find some applications that ship with their own binary libraries (DLLs), local data stores, or both. There are many examples of single-tier applications, such as word processors, spreadsheets, accounting programs, and video games.