Zat Home Zat Home Zat - Tools for the Future of the Internet
Convergence Spin World
About Zat
Site Map
System Integration

System Integration and Customizable Solutions

Spin makes an outstanding multimedia authoring tool and is the only tool of its kind for writing server-side programs, but Spin really excels as a system integration tool. Spin's true potential to rock the Internet lies in how third-party software developers, consultants, and integration houses can use it to create highly customizable solutions for the Internet.

The rewards of moving a business to the Internet are substantial. According to a report by the International Data Corporation, Small and Medium Enterprises (SME's) that use the Internet command average revenues of $3.8 million, compared to SME's who are not online with average revenues of $2.7 million.

The Internet is changing the way that businesses do business, but a company trying to move its systems to the Internet does not have very many options:

  1. Hire a team of programmers to write custom Internet-enabled software
  2. Purchase canned solutions

Custom Software

The first option is expensive — programmers are in high demand right now because of the dramatic expansion of the Internet (and other causes, such as the looming Year 2000 bug). Writing custom software is only reasonable if you are a large company that already has an IT (Information Technology) department with Internet skills, or if your company's business is primarily Internet related (companies such as or Yahoo!).

Canned Solutions

The vast majority of companies are left with only the second option, purchasing a canned solution. These small and medium sized enterprises (SME's) can only purchase a canned solution if a software developer has written one and is actively selling it.

Even if a company is lucky enough to find a solution, it is unlikely that this canned solution will adequately meet their needs. According to the editor-in-chief of Software Development magazine, "Some 20% to 30% of code must be customized for each organization, and the new system must integrate with existing applications, various databases, and best-of-breed tools. This is no easy task." Consequently, the failure rate is for canned solutions is high.

Since even canned solutions require extensive customization, and customization would appear to require expensive programming, even canned solutions are not a reasonable solution for many SME's. The cost of customization is high, and rising. Business integration consumes in excess of 40% of IT budgets and is projected to cost $40+ billion dollars in 1998. According to the report Conquering Customization published in March 1998 by Forrester Research, customizing a business package to fit established business processes is so difficult that many businesses find it is easier to "re-engineering their business process to fit the package."

A Problem for Software Developers, too

The incredibly high demand for programmers with Internet expertise is a mixed blessing for those programmers.
  • There is high demand for programming services, but there are only so many hours in a day, so most consultants and software integration firms are turning away business.
  • Programmers are doing well, but the amount of money you can make on consulting is limited by your hourly rate.
Software developers need ways to leverage their expertise, so they can sell to those potential customers that they are currently turning away.

Online Ecommerce

A typical example is online ecommerce. If you are a company looking to sell products online, you can either build a custom online store or purchase a packaged store and deploy it. Either way, the problems are manifold.

First, you must create a catalog for your products, and give people ways to find the products they are interested in. You also need mechanisms to add new products to the catalog, and to delete old products.

You also need a way for them to purchase products. You need some sort of online shopping cart, a way to take and validate credit card numbers, a shipping address, and other information. You also need to interface with your shipping department (if your products are tangible) or for software, a way for the customer to download their purchase.

You need ways to handle failures, including errors in the information the customer types in, problems with credit card payments, even network problems while they are trying to download their software.

A more significant issue is interfacing with existing business systems. For example, most canned ecommerce solutions have their own system for keeping track of inventory (if they deal with inventory at all). If the business already has an inventory system (so they can sell products mail order, wholesale, or retail) it is difficult to keep the two systems synchronized. This can be a disaster. Not being able to tell a customer whether or not you have an item in stock is becoming unacceptable (think about Christmas shoppers looking for the latest gotta-have-it toy). Telling a customer you don't have something when you do loses a sale. Telling them you have something when you don't can be even worse.

You also need to interface with systems that let you know when to order new inventory, or order the raw materials you need to build more products for inventory. You also might want to interface with purchasing systems, so you can handle returns. These interfacing issues are generally out of the question with canned solutions. Even if they are possible, they require large amounts of custom programming.

A common complaint with canned ecommerce solutions is that they take a one-size-fits-all approach. Different businesses have different needs. A car dealer wanting to sell on the Internet will have different needs from a grocery store or a travel agent. Even similar products have different needs; for example, books and music CD's are very similar, but an online store for music CD's will want to have audio clips from the songs. A company selling classical music CD's will probably want a different kind of catalog from one selling popular music. Some products (like computers) have extensive options and there are complex interdependencies between the options.

Even if a company's needs are exactly met by a canned solution, it will still want to customize. After all, would you want your store to look exactly like your competitor's store, and provide the same features and conveniences? Of course not. And your needs will surely change over time as your business evolves and grows.


Using Spin, a software developer can create an ecommerce solution that can be easily customized to the needs of each business. The software developer can create components to perform each required function:
  • catalog
  • credit card processing
  • data validation
  • shipping
  • inventory
  • purchasing
Each component can be customized, by the software developer or by the business itself (even if the business does not have any programmers, since Spin does not require programming).

The software developer can also target niche vertical markets. For example, they could put together an ecommerce solution for florists, or an ecommerce solution for car rental agencies. Targeted solutions like these can be extremely profitable. And even though the solution is highly targeted, it can still be customized to meet individual needs, or to differentiate it from a competitor.

Be sure to see the Spin scenarios page for a detailed ecommerce scenario.

Human Resources

Another area begging for customizable solutions is web interfaces to legacy transaction processing systems. This section gives one simple example, but there are thousands of equally good examples. It is estimated that over 70% of business data is still being held in transaction processing systems like IBM's CICS (Customer Information Control System).

Consider a typical company that uses CICS to manage human resources data. Like many companies, it now has an intranet and it wants to give its employees the ability to access their HR data such as how many vacation days they have accrued, and the ability to examine and change their health benefits.

IBM already has components that can access CICS data, which can be used in Spin. Also required is a way to restrict access to data. For example, regular employees are only allowed to access their own data, while specified HR employees can access anyone's information, and an even smaller set of HR supervisors are allowed to change anyone's information. If CICS is running on a Novell server, then Novell has components to access Novell Directory Services (NDS) that can validate that a user is who they say they are. These components can be combined with other components (such as components for generating web pages) to build one or more solutions.

Many consulting companies are already doing good business building intranet access to CICS data. Such a company can adapt software they probably already have into components. These components can then be mixed and matched with other components to build an array of solutions. The consulting company can then either simply use these solutions in their consulting business so they can work faster, or they can hire junior-level programmers to do much of the customization work and expand their business, or they can even sell the solutions. Spin allows the company to leverage their expertise, and so make more money.

Computer-based Training

Computer-based training (CBT) is delivered as an application (for example, on a CD-ROM), or over the Internet, or (increasingly) as a combination of both. Spin can handle any of these delivery mechanisms.

Spin can be a powerful tool for CBT, since the only difference between a multimedia authoring tool and a CBT authoring tool is a few components to support things like courseware, testing, grading, and tracking students. These are all components that can be easily added to Spin (by anyone, even a course instructor).

There are a number of advantages to using Spin for CBT. First, existing authoring tools might have been designed specifically for CBT, but (like generic ecommerce solutions) they are one-size-fits-all. The training needs of a company are far different than the needs of an educational institution, and different companies all have their own differing requirements. Some uses for CBT tools don't even fall under the category of CBT, such as materials to get salespeople up to speed on new products. Spin can use different components, or can even create new components to customize itself to specific needs.

Even more significantly, Spin can be customized at multiple levels. For example, one company might build a set of components for Spin that support a variety of generic CBT functionality. They then sell this as a CBT authoring tool. A purchaser of this system might be a large company with a dedicated training department. This department will then add new components (or modify existing ones) to create a CBT authoring tool that is customized for that specific company. This might be something as simple as adding the company logo courses, to adding access to other systems in the company (for example, for product information). A course author might also build and use a few components to help write a specific kind of course. And finally, the course instructor can build new components (while the course is in progress) to help answer a particularly difficult question from a student.

Be sure to see the Spin scenarios page for a more detailed CBT scenario.


In addition to complete solutions, there will also be a lively marketplace for components. After all, a component for accepting credit-card payments will work equally well for an ecommerce solution as for an educational institution that accepts payment by credit card.

Other tools have lively markets for components, such as plug-ins for tools like Photoshop or 3D Studio, or Visual Basic components. There are already sites that collect and sell components that can be used in Spin. The advantage of Spin is that it uses generic JavaBean components, so people do not have to write components specifically for Spin. Even components written for other system (like ActiveX controls written for Visual Basic, and CORBA components written for business systems) can be converted automatically for use in Spin.

Components can be programmed, using a variety of programming tools and languages, or they can be authored in Spin. Spin World provides a forum for people who want to buy, sell, trade, or just freely share components.

Here are some ideas for components that could be developed:

  • Ecommerce components for various vertical niche markets.
  • Components to access legacy transaction-based systems.
  • Computer-based training components; for example, for delivering and grading tests.
  • Components for business-to-business applications, including Enterprise JavaBeans.
  • High-level web objects; for example, components for site navigation, searching, and indexing; components that implement catalogs, photo galleries, advertisements; and components to support sites that deliver the News, television listings, or web cams.
  • Web objects that adapt to the target browser and platform. For example, components that hide the differences between Netscape and Internet Explorer. Or even that adapt to new kinds of Internet access, such as personal information managers (PIM's) or even household appliances.
  • Components that support interactive television content.
  • New types of media, such as components for 3D graphics, virtual reality, music, or animation. One of the major reasons for the preview release of Spin is to start working with software developers to build components and solutions that can be packaged. If you are working on such a project, please contact us.

    3D Zat Logo