Hurwitz1.gif (7820 bytes) Synon’s Internet Strategy for Application Development

Introduction

Organizations are using information technology to create applications that can streamline business processes, decrease time to market, enhance customer service, and form other competitive advantages. These applications have become critical to
a company’s survival. With the introduction of the Internet and intranets, companies now have new opportunities to exploit and new technologies to consider when developing business applications.

This paper discusses the unique value of web-based applications and the need for development environments to support new technology deployment options for applications while still supporting older ones. This paper also sets forth Hurwitz Group’s criteria for evaluating development environments and evaluates one vendor, Synon. Synon’s Obsydian is a product that was originally designed for a single platform (the IBM AS/400) but has now been expanded to support other platforms. It now also includes web capabilities.

Web-Based Applications

Opportunities of Web-Based Applications

Web-based applications have become the new means for companies to gain competitive advantage. Although true electronic commerce (EC) is just beginning, corporations must think about how they will restructure the way they do business, and what this means for internal organizational structures, business processes, allocation of advertising budgets, and so forth. Some companies will require a radical change in thinking. EC is an alternative way of doing business — an additional channel. That doesn’t mean existing channels will go away.

Web-based applications are becoming more sophisticated as organizations gain experience with Internet technologies. The development of web-based applications is an ongoing process that builds on previous deployments. The benefits increase as the applications become more sophisticated. The first web applications followed a publish-and-subscribe model that provided information to people who requested it. Now, the industry is moving into a second phase in which interactive applications provide more information and faster service. So-called "self-service" applications fall into this category. This next phase provides the capability to perform large volumes of transactions that run the business. A robust transactions-processing environment will be able to support true EC on a large scale.

To capitalize on the opportunity for future sales offered by EC, companies will need to use IT to provide customers with information about their products and services. This includes IT-enabled advertising, sales, and marketing on the Web; interactive voice response customer service systems; help desks; customer and product databases; EDI; electronic catalogs; smart cards; electronic payments; and ATMs.

The Internet also increases the potential reach of marketing messages. The ubiquity and ease of access to the Internet means that companies can get their marketing messages out to many more people than has been possible by traditional channels. As consumers’ buying habits become more accessible, companies will be able to tailor their marketing messages to individual customers, known as "one-to-one" or target marketing.

The Internet also enables self-service applications, which lower the cost of doing business. In the past, companies needed large numbers of people on telephones to take orders and answer prospective buyers’ questions. Today, many of these tasks can be accomplished with self-service applications on the Web. These applications allow the customers to do the work, thus lowering a company’s staffing costs.

The true test of web applications will come from the actual EC transactions being processed (transaction processing applications). Two major inhibitors to true EC over the Web have been security and the ability to manage the transaction servers. As these problems are addressed, Hurwitz Group believes that EC will begin to accelerate by mid-1998.

Business Value of Web-Based Applications

The unique characteristics of web applications provide many benefits for corporations, including decreased costs. Cost savings will come from several sources. First, web-based applications are less costly to develop and maintain because of their use of a stable, standardized infrastructure. In addition, web-based applications can be implemented more quickly than traditional applications, thereby reducing time to market.

Because web applications reach more people, the investment per potential customer is lower than traditional applications. This reduces the cost of sales while greatly increasing the potential market to which a company’s products are exposed. And, as mentioned previously, self-service applications are a means of outsourcing work to reduce costs. For example, a company with a staff of people taking orders could significantly reduce the number of people required with an application that enables customers to order their own merchandise from online catalogs. This type of application can yield quick ROI with greatly reduced ongoing costs.

Another benefit of web-based applications is the increased responsiveness of IT systems. Applications built on web technologies can be much more responsive than traditional IT systems. For example, web-based applications can enhance customer service by providing customers with immediate access to a wealth of information. Previous to the Web, customers would have to call and wait for documents to be sent to them. In addition, companies can publish answers to frequently asked questions on their web sites. This increases customer service and at the same time reduces staffing requirements.

Building on Previous IT Investments

Although web-based applications have many benefits, Hurwitz Group believes that organizations will also continue to develop applications on other architectures, which also provide unique benefits. New technologies are additive. As with sales channels, the Web is an additional architecture with which to deploy applications, not a replacement for host-based or distributed, client/server applications. This means that companies must have development tools that can create applications for multiple architectures and platforms.

Organizations are now developing applications that leverage previous IT investments by bringing together information from multiple sources, such as
legacy mainframes and client/server and web-based architectures. These applications have two key requirements: Integration of multiple information sources must be transparent (to end users), and they must have the flexibility to quickly change applications as business conditions warrant.

Choosing an Application Development Environment

Hurwitz Group believes companies should consider a number of factors when choosing an application development environment. These factors include ease
of development and maintenance, productivity, flexibility in development and deployment, and organizational issues such as team development between IT
staff and business users.

Leveraging Assets Through Reuse

The development environment that a company chooses should be object based
and should enable teams of programmers to share and reuse object code. This allows developers to create common modules of code for specific business functions and use them in any application that requires that particular function. Companies can also reduce overall development costs by leveraging past investments instead of starting new development projects from scratch. The key is the use of modular systems that promote practical reuse whenever possible.

Abstraction of Business Logic (Business Rules-Based)

A development environment should allow for the abstraction of business logic (business-rules based). Developers should be able to create an application by specifying business rules. In this way, the complexities of the programming language and its syntax are hidden from developers. This not only makes developers more productive but also enables them to work better with the business users they serve.

Multiple Deployment Platforms

A development environment should not limit deployment to a single platform. Users should have a choice of platforms on which the application can be deployed. Developers should be able to make this choice before or after the application is designed and developed. An optimal development environment provides developers with the ability to partition applications and allows individual components to be deployed on different platforms. This gives an IT organization great flexibility and results in more efficient utilization of IT resources such as clients, servers, and databases.

Ease of Application Maintenance

More IT dollars are spent maintaining applications than in actual development. Maintenance includes fixing bugs, enhancing function, and modifying applications to match changes in business processes. Hurwitz Group believes there are three important areas for making applications easy to maintain: configuration management, change management, and flexibility to change application logic.

Component-Based Development

Another big plus for a development environment is the ability to create reusable object components. Preferably, the development environment should support standard object components based on COM, CORBA, and JavaBeans. These standard objects should also be customizable by developers. Development environments that include a library of these components are more advantageous.

Application development environments should also have frameworks, or templates. These frameworks should model common business tasks that can be easily customized to a particular company’s needs, therefore cutting development time significantly. A framework is a basic model, like an outline of a paper. Rather than starting from scratch, a framework provides a template of business rules that define a default application model which is then customized.

Development Environment Strategy

When choosing a development environment, most companies face the issue of whether to buy specialized development tools for specific applications and deployment platforms (best-of-breed) or get a single environment that can handle all development needs. The best-of-breed approach has some advantages because these tools typically create optimized code for a specific type of application or deployment platform. However, a single environment requires developers to be trained in only one product, thereby lowering training costs. It also enables IT organizations to be more flexible when assigning resources since all developers know the environment and therefore can be more easily shifted from one project to another.

Synon’s Development Environment

Synon’s Obsydian is one development environment that provides the capabilities discussed in this paper. Synon’s first development tools were designed specifically for the IBM AS/400 platform. However, because most large corporations deploy applications on multiple platforms, Synon has extended its product line to support additional platforms such as Unix and Windows NT. To provide customers with
the benefits of the Web, Synon is now extending its development environments
to support development of web-based applications, including support for Java applets and servlets. Synon’s remaining challenges are to expand to more platforms and keep its web-based capabilities competitive with vendors that are focused specifically on web-based development.

Obsydian Architecture

Obsydian is a model-based application development environment which generates native code to implement application designs. It is object based and includes a library of business objects which can be customized if necessary. Obsydian also allows developers to create their own reusable objects to fit unique business needs.

Obsidian allows developers to write business rules for the application without having to be concerned with how the application will be distributed or on which platforms or networks it will be deployed. This set of business rules becomes the application model. The application model is beneficial for several reasons:

Synon’s Internet/Intranet Strategy
Obsydian is being enhanced with JAVA code generation to support customers’ shift to new technology, allowing existing application designs to be redeployed on new platforms.

A Phased Approach

Synon will be using a phased approach to add web capabilities to its Obsydian product line over the next year. Initially, the focus will be on supporting applications comprising C++ Windows clients with JAVA servers and database access through Java Database Connectivity (JDBC) (see Figure 1).

Hurwitz2.gif (4506 bytes)

Figure 1. C++ to Java client/server architecture

In phase one, Synon has provided browser access to applications. This enables customers to leverage existing applications and data while taking advantage of new technologies, such as the ease of use provided by the browser interface.

In phase two, Synon enhanced the Obsydian development environment to generate server-based Java code. Server-based Java ("servlets") has a number of advantages. First, applications can use the power and other resources provided by servers, which is more efficient than using Java applets. Servlets also allow 16-bit Windows 3.1 clients, in addition to 32-bit Windows 95 clients, to access 32-bit Java applications.

Because JAVA is still immature, it is still lacking robust functionality and high performance. To make up for these limitations, Synon generates C++ clients which can be downloaded or permanently installed. These C++ clients provide the benefits of Windows GUI and access the Java servers via TCP/IP .

Phase 3 will add support for Java clients and applets to the Obsydian development environment. This will enable client portions of applications to run standalone or run on any browser-enabled device, thus expanding the available clients from just Windows PCs.

Support for multiple object definitions

Synon supports major object standards such as COM/Active X and intends to support JavaBeans. Customers can also incorporate CORBA, with extended support under development.

Support for multiple JAVA versions

Using Java, Synon will be able to support more platforms than it currently supports natively. As with most standards in the information technology industry, there are usually multiple, different implementations. This tends to defeat the purpose of the standard and limit compatibility. Synon has strong partnerships with IBM and Microsoft, two of the leading vendors promulgating standards. These relationships will most likely enable Synon to provide support for the most popular Java implementations.

The Benefits of Synon’s Approach

Synon’s approach to application development environments has many benefits, including:

 

Conclusion

New information technologies are continually providing new business opportunities. However, in doing so, these new technologies also present challenges to IT organizations in terms of how best to deploy these technologies. It is important that anything newly introduced also leverages previous investments. Having the right tools to do this is critical. Users should look for vendors that are committed to introducing new technologies while maintaining customers’ prior investments.

Synon, Inc.
1100 Larkspur Landing Circle
Larkspur, CA 94939
Phone (415) 461 5000
Fax (415) 461 2171
www.synon.com

 

Synon’s Internet Strategy for Application Development
is published by Hurwitz Group, Inc.
111 Speen Street, Framingham, MA 01701
Telephone (508) 872-3344; Fax (508) 872-3355
Email address: info@hurwitz.com
Web site: http://www.hurwitz.com

January 1998
Copyright 1998, Hurwitz Group, Inc.
All rights reserved. No part of this report may be reproduced
or stored in a retrieval system, or transmitted in any form or
by any means, without prior written permission.

 


©1995-98 Synon Corporation. All rights reserved.
Synon and Obsydian are registered trademarks of Synon Corporation.
Other product and company names herein may be the trademarks or
registered trademarks of their respective owners.