What is Synergy/DE?
Synergy/DE is a full suite of development tools that provides everything you need to create powerful, event-driven business applications. It includes tools to write and process your applications, design and support your user interface, manage your data from one central location, and create comprehensive reports.
If you were building a house, you would need many tools, ranging from the very basic to the very powerful. Having these tools readily available would reduce the time and maximize the efficiency with which you could complete the job. This same principle applies to developing a business application: Well-chosen, accessible tools make the job a lot easier. Using the right tool for the right job is the fundamental philosophy of Synergy/DE. Using Synergy/DE, you can focus most of your resources on your vertical or custom application, because Synergy/DE takes care of your systems-level development.
Synergex also believes that the operational characteristics of a programming language should remain consistent across operating environments. Synergy DBL enables you to program on one system and then move your programs to other systems easily: you need only recompile and relink to run the programs on the new system. The only time you’ll need to change a program is if you designed your original applications expressly for a particular operating system and relied on facilities only available on that system.
Synergy/DE enables you to
- take advantage of one of the most highly scalable distributed technologies. Unique Synergy multi-tier technology enables you to scale your application from one stand-alone machine to an enterprise-wide system hosting thousands of users.
- open your Synergy business logic and data to a variety of thin client technologies. Using Synergy/DE xfNetLink and xfServerPlus, you can build distributed solutions that enable web browsers, Visual Basic .NET front-end applications, ASP.NET, Java, or Synergy thin clients to access Synergy routines and database files.
- maintain database independence. Third-party applications can access your Synergy data, and your Synergy application can access popular, third-party SQL databases.
- easily create and maintain your application. “Draw” and maintain user interface elements in a visual environment. Easily add new features to accommodate your customers’ changing needs. Quickly customize and localize your user interface.
- keep your applications portable. Develop your applications in any environment—Windows, virtually all UNIX platforms, OpenVMS—and in most cases deploy in other environments by simply relinking.
- save time. Save development and maintenance time by creating and reusing object and executable libraries. Call routines or share information with applications written in other languages.
- use functional depth. Develop complete applications by working only at the high level, such as in Composer or by calling environment-supplied subroutines, or drop down to the core level where you have complete flexibility to customize all aspects of your application.
- manage the development process. Eliminate duplication of work by reusing supplied and custom libraries and centralizing all data definitions where the entire development team can access them and ensure consistency between efforts.
- reduce maintenance. Centralizing data definitions and libraries means that changes can be made in one central location rather than throughout thousands of lines of codes.
The following Synergy products comprise Synergy/DE.
Both Professional Series Workbench and Professional Series Development Environment include the components listed below. In addition, Professional Series Workbench provides an interface that not only launches all of these components but features a Synergy DBL–sensitive visual editor as well as project management tools. (Professional Series Workbench is only available on Windows.)
Synergy DBL, a high-level business programming language that encourages structured, system-independent, modular code, is the fundamental component of Synergy/DE. Beyond the basic statements that specify processing to be performed, Synergy DBL includes a large number of prewritten external subroutines and functions, a source-level debugger, graphical user interface support, and a fast and efficient system-independent file structure.
The Synergy DBMS system includes everything needed to create and manage high-speed, keyed access and ordered sequential access databases.
UI Toolkit gives you all you need to create your application’s user interface, including an extensive set of subroutines to handle your environment maintenance and menu, input, text, selection, and list processing.
Composer (Windows only)
Composer is an interactive user-interface design tool. You “draw” windows and input windows just the way you like, graphically assigning properties that are immediately reflected on your screen, and Composer generates the appropriate script commands to define your objects. Composer also accepts predefined input windows and fields from Repository, so you can view and modify them graphically.
Repository is the tool you use to define and maintain the data that will be used in your application or in reports that can be created with Synergy/DE ReportWriter or xfODBC. It provides a method of managing data structures and fields in one centralized location, so that you can modify a field throughout your application simply by changing one definition in your repository.
ReportWriter is an end-user application that retrieves, integrates, and consolidates data into columnar, ad hoc reports. You can customize and include ReportWriter as part of your application, either predefining reports for your customers to run or enabling them to design their own reports.
Synergy Runtime supports the actions requested by your Synergy/DE applications during execution.
SQL Connection and Synergy database drivers
SQL Connection is Synergy/DE’s SQL API that works in conjunction with the appropriate database driver to enable a Synergy application to access SQL data sources (typically RDBMSs). Synergy/DE provides database drivers that enable SQL Connection access to popular databases such as Oracle and SQL Server.
SQL OpenNet provides the middleware needed if your Synergy SQL application will be accessing remote RDBMSs (residing on a remote computer on your network).
xfODBC opens Synergy DBMS data to any third-party, 32-bit ODBC application. It supports version 2.5 of the ODBC API (level 1) and uses SQL OpenNet for remote data access.
xfServer processes network client requests for Synergy DBMS data. Residing on the same computer as the Synergy databases, the server can serve data to any Synergy application running with a Synergy runtime (version 6.1 and higher).
xfServerPlus handles the remote execution of Synergy routines. in conjunction with xfNetLink.
xfNetLink provides three methods for accessing Synergy logic:
- xfNetLink Synergy Edition, which is a set of routines that work in conjunction with xfServerPlus to execute Synergy routines stored on a remote machine
- xfNetLink Java Edition, which works in conjunction with the Java™ programming language
- xfNetLink .NET Edition, which works in conjunction with Microsoft’s .NET Framework
Figure 1 illustrates how you can use Professional Series to develop your application.
When developing in Synergy/DE, you have several choices for your development environment:
- Visual Studio. Synergy DBL Integration for Visual Studio (SDI) enables you to use Visual Studio to develop Synergy applications and libraries. See Synergy in Visual Studio for more information.
- Professional Series Workbench. Professional Series Workbench includes a Synergy DBL-sensitive visual editor that automates code formatting and provides keyword recognition and completion, popup argument lists for Synergy routines, and integration with the Synergy compiler. For more information, refer to Workbench’s online help.
- Some other editor. If you don’t use Visual Studio or the Workbench visual editor, you can use any popular word processing or text editing software (e.g., Microsoft Word or Notepad) or an editor from the command line. The editor must be able to write out the final result as an ASCII text file, with no additional formatting or header information embedded in the file. Most word processing products will generate this type of file if you save your document as text only.