Keywords: SVG, Platform, realSVG, realtime-Data, Dynamic
Alexander Adam wrote his first commercial programs in the middle 90s. They were all graphic related and very succesfull. In the year 1998 he came to EvolGrafiX (At this time named PCX Software) and was immediately pushed as a Project Leader of all following (SVG)-Graphic Projects, like the XStudio I, XStudio II and the SVG-Platform
SVG is a great vector-format that is based on the well-etablished XML-Standard, SVG has a great support of interactivity and animations yet some important things are missing. These missing things include the easy use of dynamic data from e.g. a Database. Dynamic means that everytime you view, edit or run your SVG-Applications, they get their Data from a Database. It is possible - through the text-based SVG - to do this by using server-side languages like ASP (Active Server Pages), JSP or PHP. They could run the database connection, open some SVG-Template, parse it and fill it out. Then finally they send this to the client. But this is very complicated, because even for the most simple case of getting a database-value into a SVG-Textfield you need a ASP, JSP or other Server-Side-Language Enabled Server, a good scripting knowledge and a good database knowledge. The question of many peoples to EvolGrafiX was, why it is not simply possible to select a text in the svg-graphic visually and then simply assign a value from a database to it. The database should be Oracle, Access, MySQL or any other ODBC compatible Database. This is the source of main problem with Dynamic Data and SVG. Through this issue, other questions are coming up, for example what if I want to fill my graphic with some dynamic data after a special action (like clicking on a shape)? For this, you would need to extend your scripts on the server, this can get complicated when you also need to set dynamic data on different places and if all this should happen without that the whole graphic gets reloaded. And what about Real-Time Data? Data that is updated in special time periods in e.g. databases or directly coming from the COM-Port of the computer? How to easily integrate them into graphics without having to reload them and without having to use any other programming language and evironment than the Java/ECMAScript given by SVG itself? All these questions and many more are solved and explained in this presentation with our new SVG-Platform. The platform answers and solves all the previous issues and does even more. The presentation should show some impressive demos what can be very easily done with SVG through the help of the SVG-Platform.
1. Problems nowadays in all graphical applications
1.1 Non Standard Conformance
1.2 Missing Extensibility
1.3 Lack of Knowledge
1.5 High Costs and Time-Waste
1.6 Missing technological equipment
2. Where to Start ?
2.1 What a Technology should provide
3. The Smart Solution
3.1 realSVG - The Basic
3.2 What does realSVG provide ?
3.2.1 The realSVG Client
3.2.2 The realSVG Reader for Mobiles
3.2.3 The realSVG Server
Graphic Application is the Keyword in nowadays industry, cartographie, process visualization, management, steering, embed systems and much more. Everywhere you look, graphical applications are used. But the first view is not as good at seems, most of all these graphical applications are having big disadvantages and big problems.
Every Station, Application and Client used uses another technology, mostly in-house productions from the company that provided the application. These technologies are usually unknown by the client and also by other companies. This means that a later data or application transfer is impossible, also the management of the application is not provided as the most of these unique formats are using any binary technique for their files or even completly complex and encrypted database-schemas.
Resulting from the first problem in graphic applications is the lack of Extensibility. Through the encrypted technology known only by the manufacturer, the client has nearly no possibility to add or modify the technology himself the way that it perfectly fits into his environment. This means either getting extensions to the currently used technique, or buying another, completly system. Bot of these options are resulting in many additional costs and work for the client. Costs and work that shouldn't be a part of a modern, open technology.
Every technology used needs peoples using it and keep it running. But what about the knowledge? Often, companies are deciding for the wrong technology but they figure it out at the moment when no one knows on how to use this technology, even it looked so good at the presentation. So you either let your employees invest a lot of wasted time to figure out how a technology works or you receive help from the manufacturer. If the manufacturer can't provide you any help, the technology you bought suddenly gets useless, no matter of costs.
The different issues like non-open and non-standard format, specialized applications, high costs and risk and unknown technologies results in a huge dependency to the manufacturer the technology is provided by. Because only he can give you the needed help, support and schooling. You are also depended on his update policy as you are not able to enhance the functionality of the technology yourself. All this causes at the end a high dependency for the client from which he can only be freed by using another technology, one that does not bring all these dependency with it.
The unknown technology and the dependency are causing often much higher costs then only the price for the technology and some monthly support costs. Only through the need of extra schooling, more support and extensions, you will have a high spend on extra costs for the technology. The cary about the technology results in a big waste of time for you and for the employeers, time that could and should be used to get to a higher level of manufacturing in any way.
Most of nowadays technologies for graphical applications are often after their time. They use old, slow, bad looking engines with a bad or none accessibility support. They often have bad data-connections or even use only their own format. Accessing realtime data is - if not provided externally - often impossible to realize. Keywords like Open, readable standards, open data access to many different sources like Database (Access, MySQL, Oracle to name only a few) or XML-Sources, Data Manipulations (XSLT, Scripting, Other), Interactivity via ECMAScript and realtime Data are unknown words for many technologies.
The first question after reading the first paragraph is where to start. It sounds nice to have all these mentioned abilities, but where to find such a technology, what should it have and provide?
The following Requirements should come into mind when thinking on a technology that does have none of the previous listened disadvantages:
The new EvolGrafiX SVG-Platform realSVG covers all requirements and contains none of the listed disadvantes. It was concepted to be understandable, means the business can easily understand why this platform is the solution and where its strenghts are.
realSVG has different meanings. The first is that this platform provides you a real use of the SVG-Technology. Before, you were able to either make simple SVG-Applications or use many different and complex technologies together to create real world applications, applications that can be easily created and maintained and that are very powerful in their task.
realSVG has also the meaning of realtime Data. Realtime data is data that is refreshed in a time period or on special actions, for example when something changes. Realtime Data can come from many different sources like a Database, over the Network through TCP/IP or from any external hardware through the COM-Port.
realSVG basicly consists of different components shown in the next figure.
realSVG includes the components "realSVG Builder", "realSVG Extension for XStudio II" and the "realSVG Client". Later in the year 2003, the "realSVG Server" will follow. You can see how simply yet effective the realSVG System was implemented. Through the direct access to XStudio II, the realSVG System makes it very easy to build powerful applications.
In the realSVG Builder you can edit the Process File, a XML-File that consists of different processes. These processes are covering for example different sources like Databases, XML-Files and much more. You can also edit Variables and Constants. The Variables allows you to react on realtime data over TCP/IP, timers or other sources. You can then start specific actions for variables.
The realSVG Builder also includes the managing and creation of Reports, they cover the complete statistics and management of the different sources and produces results in formats like Excel, Word, PDF (Portable Document Format), Html and others. The Reports can be directly connected with the Actions.
The Actions are the Interface to the XStudio II and to the SVG-Graphic itself. Through the actions, the visual interface is completly divided from the program logic behind it. The Actions can be steered through parameters that are easily overgiven from the SVG-Graphic. An Action consists of so-called subprocesses or sub-actions which provide an easy creation of the program logic. For example, you can take an input-source, a selecting-function a data-manipulation and a output-function to, for example, modify an element in the SVG-Graphic.
The realSVG Client (called realSVG Reader) provides the Interface for the interaction with the resulting SVG-Application. The Client loads and interpretes the Process-File and the SVG-File and connects them so that the user can easily use the SVG-Application. The realSVG Reader is independent from any svg-viewer as he provides his internal engine and is very easy to install and setup. He provides a comfortable User Interface which covers the SVG-Application, so, for example, different zoom-possibilites, views and panning are available.
The realSVG Reader manages all actions that are available in the graphic, for example the Report Generation, Data Loading or the handling of variables that are received per COM-Port or per TCP/IP over the network. Through the miss of a complete Server-System, the Client is very perfomant and very flexible, as he can handle many things that are impossible to handle over the combination of a server and a webbrowser. He also is very easily to use as you don't need to cary about the client, the realSVG Reader for example gets always the newest data from a server if needed.
The Client has the big advantage that he does not depend on any complex server system which means that he can run easily on other hardware like mobiles (pda, handheld, etc.), too. The realSVG Reader for Mobiles will be available in the Q4 of 2003.
For different cases, like a wide availability or the option to use this powerful system over the internet, the realSVG Server will provide all necessary technique to use the whole system in any webbrowser. The realSVG Server is written in Java which means he is platform independent, stable and very easy to setup, not as other server systems that requires a big knowledge of a system administrator. The realSVG Server will be available in the Q4 of 2003.
The realSVG System is copyright and protected by EvolGrafiX. Following technologies are used in this System:
Copyright Intesis. All rights reserved.
Open Standard by W3 Consortium.
Open Standard by W3 Consortium.
Open Standard by W3 Consortium.
Open Standard by W3 Consortium.
XHTML rendition created by gcapaper Web Publisher v2.0, © 2001-3 Schema Software Inc.