Dynasty Technologies  
Products Clients Partners Articles Company Contact Home
     
 
You are here: Dynasty.com / Articles / Analyst Reports / Butler Group

DYNASTY V3.5.3

Dynasty v3.5.3

Analyst: Michael Thompson Product Category: Application Development Tools
Date: December 1998 Company: Dynasty Technologies, Inc.

Strengths

· Applications are platform independent.

· Splitting of presentation layer supports very thin clients.

· Leverages best-of-breed third-party technologies.

· Promotes both object and business framework reuse.

· Open to C/C++, Visual Basic and Java libraries and classes.

Weaknesses

· Does not support the decimal datatype (available in next version).

Butler Viewpoint

Effective application development in the modern enterprise environment has many requirements; not least of which is the need to produce scalable, reusable solutions in a cost and time-effective manner. Add to this the need to produce business applications that will integrate easily with legacy systems, and the scale of the problem facing IT managers and development teams can clearly be seen.

Although the problems facing development teams in creating applications that fit within the modern operating environment are complex, the good news is that they are recognisable and quantifiable to a great extent. This means that application development tools can be judged on how well they address the issues surrounding business application building and deployment.

A major requirement for business applications that need to operate in the heterogeneous environments that exist within most organisations is that the architecture should allow for the creation of business logic that is separated from both the data and presentation layers. This is essential to minimise maintenance and security provisions while, at the same time, maximising accessibility and performance.

Developers need to be able to create realistic business applications with a minimum of time spent coding to facilitate both fast development and deployment. The ability to assemble applications reusing objects is a major empowerment of this required design philosophy, along with support for changing technology infrastructures.

In short, it is imperative that any application development tool is quick and easy to use, builds business applications that are open to industry standards, and are platform independent.

All the above requirements may appear to be a desire for perfection, and that is most certainly unobtainable. However, vendors in this field are coming to recognise the requirements and are working to produce relevant tools and methodologies.

Not least of these is Dynasty Technologies, Inc. with its DYNASTY product that has probably gone as far towards perfection as current technology limitations allow.

Summary

DYNASTY is a Component-Based Development (CBD) tool that effectively promotes the advantages of this type of development methodology. Applications are assembled by selecting the specific objects that they require, and placing them within a framework that models the business requirement. One of the advantages of CBD lies in the concept of reusable components; DYNASTY takes this reuse a stage further, by providing reusable frameworks.

Developers can create their own objects, and DYNASTY provides a number of tools to ease this process, but Dynasty Technologies, Inc. has provided over 1,600 predefined classes straight out-of-the-box, so building applications can commence immediately in most instances.

DYNASTY objects support all the standard datatypes, with the exception of the decimal datatype. This is of some concern, especially in the light of the requirements for the euro. Admittedly, there are coding ways around the problem, most commonly using string conversions, but Dynasty Technologies, Inc. is responding to the requirement, and the decimal datatype will be available in the next release.

It has to be clearly stated that DYNASTY provides the tools for application building. A development environment, in respect of modelling, has to be obtained by integration with third-party modelling tools. DYNASTY can integrate with Rational Rose from Rational Software Corporation, and System Architect from Popkin Software & Systems, thus supporting both data and process modelling.
The integration between these third-party products is seamless due to DYNASTY’s compliance with the Unified Modelling Language (UML) standards.
After modelling has been carried out, the results are stored in the DYNASTY repository.

Within DYNASTY, repositories are referred to as knowledge bases, or Kbases. Team development is supported by these Kbases, and individual developers can have their own Kbase containing the components upon which they are working. Shared Kbases are used to merge components into a project repository. Full control over versions and check-in/check-out is provided by the Kbase, ensuring a secure team development environment.

The technology infrastructure of most modern organisations is such that it demands applications that can run within an heterogeneous environment. DYNASTY-developed applications fit this paradigm perfectly. The Rapid Application Development (RAD) tools provided by DYNASTY select and assemble the objects, configure database connections and generate completed applications.

At some point during the development cycle, it becomes necessary to consider the hardware infrastructure across which the application is to be deployed. This consideration usually has to take place at, or very close to, the commencement of the development. DYNASTY has implemented a graphical Partitioning Assistant that can be used to partition an application across multiple schemas, at a much later stage of development.

The Partitioning Assistant, and the actual ability to partition applications, does not totally remove the need to make some considerations as to where the application will be running at the start of the development. However, the Partitioning Assistant can perform multiple different partitioning models from a single application, whilst still maintaining the single application structure for reference. This means that the developer can concentrate, in the main, on building the application, which can then later be partitioned dependent upon the runtime environment.

The Partitioning Assistant provides for five different distribution models, and an extra custom model, across multiple clients and servers over different platforms. Therefore, an application can be made to fit into any operating paradigm. The extent to which an application can be partitioned is further empowered by the way in which Dynasty Technologies, Inc. has split the presentation layer of an application, allowing for use with very thin clients.

Naturally enough, the reason for creating applications is so that they can be used; this means that applications need to be deployed, and this deployment takes place after the application has been partitioned. DYNASTY provides a Graphical User Interface (GUI) for deploying applications, where choice of platform, operating system, client GUIs, databases and the communication protocols to be used are selected. After this stage has been carried out, DYNASTY generates the appropriate code for the selected deployment environment. The code generated can be C/C++, Embedded SQL, or Java depending upon the specific requirements.

Creating or using objects to build applications is only part of the picture. There has to be a way for these objects to communicate with each other, and DYNASTY integrates with BEA’s Tuxedo and M3 middleware, as well as Visigenic’s VisiBroker. It is the very openness of the DYNASTY components, and by extension applications, that allows seamless messaging integration with different middleware products.

Dynasty Technologies, Inc. is carrying out extensive work with its messaging framework, and is creating Interceptors that can be used to add special processing to the flow of messages between objects, prevent execution of a method based on predefined conditions and isolate service definition from service implementation.

To fit the whole ethos of DYNASTY development, these Interceptors are objects and are split into
three distinct areas: operation; information; and communications.

The requirement for Internet/Intranet-based applications has not been ignored by Dynasty Technologies, Inc. The company has created DYNASTY Internet to address those issues that are specific to this computing paradigm. Although there is much in DYNASTY Internet that provides solutions to the Internet-specific problems, it is with the splitting of the presentation layer that the real benefit can be appreciated. The presentation layer has been split into two tiers: the upper tier has become a true presentation tier, handling the bare minimum necessary to put a GUI widget on the screen; while the lower tier deals with the rules and properties for the GUI objects. This allows for very thin clients, and as the only messaging that takes place is in respect of state change for data or objects, then bandwidth is conserved.

Butler Group believes that the prime requirement for business applications is that they must be open. Established standards exist, and have been accepted, that allow for true integration of business applications within an overall business process requirement. It is obvious that Dynasty Technologies, Inc. shares this view, along with the more general requirements of component reuse. Based on this ethos, Dynasty Technologies, Inc. has created a development tool that will allow developers to create business applications that will fit into any operating milieu. That the development environment created for the development team is one with such power, flexibility, and ease-of-use, can almost be considered a bonus.

Dynasty Technologies, Inc. has been seen in the past as being a company ahead of its time as far as application development goes. This is all well and good within the development community, but often cuts little ice in the harsh world of business.
With DYNASTY v3.5.3, Butler Group believes that the company has created a product that technologically is still ahead of the game, but can be seen by the business user as relevant to the market demands.

Market Position

Dynasty Technologies, Inc. has attained a worldwide customer base by focusing on clients with demanding technical requirements for large-scale, highly distributed enterprise-class applications.

DYNASTY has been implemented across numerous industry sectors, including: communications; financial institutions; health care; service industries; manufacturing; and publishing.

Its users include many Global 500 companies who are regarded as market leaders in their particular areas:

  • AT&T Wireless
  • Bank of Nova Scotia
  • BNP Factor
  • CAD
  • CBS Entertainment
  • Copperweld
  • DBS Systems Corporation
  • Delta Health
  • Interpolis
  • Ministry of Agriculture S.A.
  • Novo Group
  • Premiere
  • Shoprite Checkers
  • SOS Medecins
  • US West
  • Woolworth plc

Dynasty Technologies, Inc.’s main application development competitors are seen as Forté Software, Informix and Seer Technologies. However, the company sees its main competitor as being the readiness of organisations to continue with the traditional hand-coding paradigm.

Platforms and Connectivity

Platforms

  • Windows NT Intel
  • Windows NT Alpha
  • Windows 95
  • Windows 3.1
  • Digital Unix Alpha
  • HP-UX
  • IBM AIX
  • Sun Solaris
  • Tandem NSK
  • IBM AS/400

Databases

  • Oracle
  • Sybase
  • Informix
  • IBM DB2
  • Microsoft SQL Server
  • ODBC-compliant

Middleware

  • Tuxedo
  • M3
  • MTS
  • VisiBroker

Modelling Tools

  • Rational Rose
  • System Architect

Technical Features

There are four major steps to building a DYNASTY application, each step is either carried out using a GUI or is automatically handled by DYNASTY itself:

1. Application Build – which includes developing the business rules, processes, screens, data structures and widgets.

2. Partitioning – whereby the built application is split into layers to fit any client/server constraints or requirements.

3. Deployment – defines the physical environment in which the application is to be run.

4. Generation – which creates the object code based on the partitioning and deployment schemas that have been defined.

These four areas have been designed to create a development environment that not only speeds the process, but also promotes the reuse of objects. Applications are built within a Business Application Framework, which itself is built on messaging abstraction that promotes the reuse of the Business Application Framework.

Application Build

The first stage of creating an application is design and modelling. DYNASTY does not provide a modelling toolset, but integrates with Object-Oriented Analysis and Design (OOAD) tools
that support UML, CASE Data Interchange Format (CDIF) or Rational Rose Petal files.
Dynasty Technologies, Inc. has opted for partnership support from Popkin Software & Systems, and Rational Software to give both data, and process modelling abilities.

The bridge between DYNASTY and the OOAD tools are bi-directional. Classes created in DYNASTY can be exported to an OOAD tool for documentation. Likewise, classes can be created in the OOAD tool based on the Business Application Framework, although analysis mapping and high-level designs to the framework must be carried out manually. However, there are some limitations to the round-trip capabilities of Rational Rose and DYNASTY:

  • There is not full support for DYNASTY properties based on Rational Rose information.
  • Complex DYNASTY attribute values cannot be represented in Rational Rose.
  • Attribute set definitions are not transferred from Rational Rose.

These issues are under development by Dynasty Technologies, Inc. and it is hoped that full round-trip support between Rational Rose and DYNASTY will soon be available.

These concerns aside, the ability to perform design iterations between Rational Rose and DYNASTY gives a powerful modelling and build environment, not least of which is the ability to transfer the built classes into Rational Rose for full documentation.

The Business Application Framework is essentially an environment for managing objects. There are 13 class-level object types in the framework:

  1. Function
  • Generic
  • Process Model
  • Application
  • Program
  • Window
  • Panel
  • Widget
  • Business Object
  • Business View
  • Data Manager
  • Data Store
  • Data

Every object that is created falls within one of these class-level object types, thus providing a structured method of creation and storage.

The actual design environment is highly graphical, using standard drag-and-drop techniques to build applications. DYNASTY comes with 1,600 classes and full-support for creating new objects is given, with inheritance possible from single or multiple classes. A major benefit of the developer GUI lies not in the ease of development for experienced Object-Oriented (OO) developers, but in how the GUI helps to create an instinctive understanding of Object-Oriented Programming (OOP) for those developers coming from a procedural programming background. One really gets the feeling that OOP could be taught relatively quickly and painlessly by using a system like DYNASTY. That, however, is not the main purpose of DYNASTY, which is business application development, and this usually means team development.

Full repository-based support is given for team development, where every developer has an individual repository, called in DYNASTY a Kbase, and there is also a central Kbase for handling check-in/check-out and version control. Full logging of developer information is provided when an object is checked out, and other team members can only access that object on a read-only basis.

Application Partitioning

Once the development phase is complete, the application can be partitioned to split the presentation, business logic, and data layers across multiple clients and servers. Each application can be partitioned numerous times for different operating requirements without affecting the initial application.

Partitioning is done with the aid of the Partitioning Assistant, which provides five basic partitioning scenarios:

1. Database Server – is a fat-client option. The presentation layer and business logic is placed onto the client, while the data layer is placed on database servers.

2. Business Server – creates a classic 3-tier architecture.
The presentation layer is on the client, the business logic on application servers and the data layer on database servers.

3. OLTP Multiple Servers – to allow creation of servers for the duplication of services.

4. Database Server (Light Client) – for a thin-client solution, with the presentation layer on the client and the other layers on the servers.

5. Reuse Existing Servers – automatically provides a list of existing servers. The Partitioning Assistant examines the objects in the application and understands each one’s functionality allowing them to be allocated to the most appropriate server.

The developer is not, in fact, limited by these five scenarios, as it is possible to create a custom partitioning schema. The partitioning is carried out graphically, prior to deployment, with the complete application being displayed, and the developer creates the partitioning by dragging and dropping objects between clients and servers.

Although partitioning of the application is carried out after the application has been built, some consideration of partitioning issues need to come under consideration at the design stage:

  • The passing and returning of data.
  • Replicated data objects.
  • The number of messages, the types of messages and messaging loops.
  • Memory management.
  • Server states and types.
  • The use of non-DYNASTY clients.

Some of these considerations need to be taken account of at design time due to certain limitations within a partitioned application, for instance, limitations with message loops.

A message loop occurs when an object sends a message to a second object, which then sends it back, either directly or indirectly, to the originating object. This is only supportable for objects that exist within a partition; message loops cannot cross partition boundaries.

Naturally, partitioning can only take place between objects but, in order to create a very thin client model, DYNASTY has split the presentation layer into two tiers. The upper tier provides for the GUI ‘look and feel’, while the lower tier handles the rules and properties of the GUI widgets. By use of the Partitioning Assistant, multiple scenarios are supported.

Application Deployment

Once partitioning has taken place, the developer decides how that particular partitioning of the application is to be deployed. That is, across what hardware platforms, operating systems, databases, GUIs, and using which communication protocols. This application deployment, or targeting, is carried out, like most development in DYNASTY, by using a GUI.

There are details on targets that give an indication of the scope and openness of the developed applications:

  • DYNASTY proprietary targets using Transmission Control Protocol/Internet Protocol (TCP/IP) or IntraMachineCommunications (IMC).
  • Open library targets: C/C++; Visual Basic; or Java.
  • Non-DYNASTY middleware: BEA’s Tuxedo and M3; Visigenic’s VisiBroker; Component Object Model (COM); or Microsoft Transaction Server (MTS).

TCP/IP and IMC targets allow up to 300 clients per stateful server, and provide for good distributed transaction support for small to medium size applications.

C/C++ targeting means that any DYNASTY Dynamic Link Library (DLL) is completely open to C/C++ programs, and any programming language that can call a C DLL can call into a DYNASTY DLL.

Targeting to Visual Basic generates Visual Basic code in .bas files that lets Visual Basic programmers call into DYNASTY DLLs, while automatically handling datatype conversions from Visual Basic to DYNASTY.

Java targeting means that Java class files are generated to allow Java clients to call into DYNASTY DLLs, and also handles datatype conversions between DYNASTY and Java.

Using Tuxedo as the target creates highly scalable applications with a high level of support for distributed transactions. VisiBroker and M3 gives support for Common Object Request Broker Architecture (CORBA).

Code Generation

The final stage in creating a business application is the generation of code. DYNASTY automatically generates C/C++, Java, or Embedded SQL; dependent on the deployment chosen. Should the deployment requirement change, then it is a simple matter to
re-deploy the application and generate the new code required, regardless of the deployment environment.

It can be seen that the four stages of application development, from concept to working application, follow concepts of best practice in CBD. Not only is object reuse encouraged, but application framework reuse is also advocated. Applications can be made to fit into any client/server paradigm or even remain as a monolithic application.

The application code is generated automatically, and is free from platform specifics.

DYNASTY Internet

Deploying applications across the Internet has one major concern; the conservation of bandwidth. Dynasty Technologies, Inc. has formed a partnership with ViewSoft, Inc.

DYNASTY Internet uses a custom version of VSI with integration to Dynasty Kbases allowing classes, methods, and variables to be imported into DYNASTY Internet for the creation of the JAVA dialogue GUI. Additionally, developers can generate HyperText Markup Language (HTML)-based clients.

The power of VSI is in the fact that only object state change is ever transmitted over the Internet/Intranet, thus saving on bandwidth overhead. DYNASTY applications that use VSI-based clients support collaboration and concurrency control.

Interceptors

Interceptors are objects that work in the messaging framework, adding special processes to the flow of messages between objects. Additionally, Interceptors can prevent the execution of a method if predefined conditions exist. There are three types of Interceptors:

  1. Operational
  2. Informational
  3. Communications

An Operational Interceptor can prevent the execution of an intercepted method. The reasons for preventing execution are written by the developer, and might focus on controlling detailed process flow or preventing access due to reasons of security.

An Operational Interceptor provides a single method that is invoked upon entry to an intercepted method, and is able to access the parameter values being passed to the intercepted methods.

Informational Interceptors are used, not surprisingly, to provide information about message flows, and would typically be used for the creation and maintenance of logs.

Communications Interceptors are still in an early stage of development, but they are being designed to provide methods for starting and ending communications, and controlling data transmission.

Interceptors, being objects, can have different levels of granularity, which can be controlled by the developer. There are three levels of granularity:

  1. Program Level – which affects multiple classes within the program. This level of granularity can only be set for server programs.
  2. Class Level – which affects multiple methods within a class. This level of Interceptor can be used by both owned and generatable classes, but use on a generated class does not affect its owned class.
  3. Method Level – only affects a single method of a class.

Interceptors can be used at multiple levels, and specific rules apply as to how methods are invoked. Across levels, Interceptor methods are invoked
from most granular to least granular; that is, Method, Class, Program; and in reverse on exit. At a
single level, methods are invoked based on the
order specified, again with the reverse order on exiting.

Futures

There is such a large degree of new development work being carried out on the DYNASTY product, that it might be assumed, quite wrongly, that the current version lacks functionality and relevance.
The truth of the matter is that Dynasty Technologies, Inc. has always been one of the leaders in its chosen field and it aims to remain with the leading group.

Probably the most exciting development work concerns the use of Interceptors for providing processing capabilities to the flow of information between objects.

Vendor Profile

Dynasty Technologies, Inc. was founded in 1991 to develop and market enterprise-class distributed application development software.

The applications are, typically, a combination of multimedia, transaction processing, decision support and batch systems.

Corporate headquarters and R&D facilities are in Houston, Texas.

Product distribution is through a direct sales and distributor organisation with sales and support offices in many major cities and countries around the world, including: San Francisco; Houston; Hamburg; Munich; Milan; Madrid; London; Zurich; Sydney; Hong Kong; and South Africa.

Dynasty Technologies, Inc. has close ties with many of the IT industry’s leading technology companies, as it pursues its goal of integrating DYNASTY with best-of-breed, third-party products.

Current partnerships include:

  • BEA
  • Microsoft
  • IBM
  • Inprise
  • Compaq
  • Hewlett-Packard
  • Sun Microsystems
  • Oracle
  • Informix
  • Sybase
  • Popkin Software
  • Rational Software Corporation

Corporate Headquarters

Dynasty Technologies, Inc.
Two Kingwood Place
700 Rockmead, Suite 100
Kingwood, Texas 77339
USA

Tel: +1 281 358 2764
Fax: +1 281 358 6192

United Kingdom

Dynasty Technologies (UK) Ltd
1st Floor Bradford House
39a East Street
Epsom
Surrey
KT17 1BL

Tel: +44 (0)1372 748442
Fax: +44 (0)1372 747273

E-mail: info @ dynasty.com

www.dynasty.com


 
Feedback