Symula ONE
Symula One
Symula - Web Application Development, Deployment, Tools, Solutions, Performance, Scalability Symula One Symula - Web Application Development, Deployment, Tools, Solutions, Performance, Scalability
  Symula One
Symula ONE
Symula ONE
Symula Inc.
HomeHomeHome
CompanyCompanyCompany
Our VisionOur VisionOur Vision
NewsNewsNews
ProductProductProduct
TechnologyTechnologyTechnology
Case StudiesCase StudiesCase Studies
ServicesServicesServices
Development LandscapeDevelopment LandscapeDevelopment Landscape
FeedbackFeedbackFeedback
Web LinksWeb LinksWeb Links
Email UsEmail UsEmail Us
Legal NoticesLegal NoticesLegal Notices

Search



Symula ONE FAQ (Frequently Asked Questions)

Question
Why I was taken here - to the FAQ page instead of your Homepage? Is it a failure?

Answer  
No, it is not a failure - it is OK and, if so - why we made FAQ being our Homepage?
   Myriads of web sites tell their stories about "advanced software technologies". How often did you find yourself going back and forth between reams of web pages, white papers and technology briefs?  Reading page after page you eventually have decided that it doesn't make sense to continue: "Much ado about nothing. Truisms, popular mantras, buzzword while actually very few valuable and concrete about a core technology". 
   Well, why do not go to the punch line from the beginning respecting people's tight schedules, saving their time? This page consist of the most of those questions people usually ask AFTER they already spent a lot of time in reading a web site.  However, if afterwards, you'll think we failed in this mission, please tell us about.


Symula ONE FAQ (Frequently Asked Questions)

Question
·  Nowadays BILLIONS of web site tell about 'advanced software technologies' - why a glimpse on Symula.com worth reading?
·  'Words, words and words' - everybody try to feed potential customers with a 'new flavor of the acronyms soup'...
·  Today's rich client comeback trend is evident. O'K, it seems you're pursuing 'TO BE IN'?
·  ZapThink's report analyzes a new class of rich client vendor offering counts more than two dozens of rich client software vendors. How you compare with others?
·  Modeling and then generating code is a nice old story: a lot of promise for a few of 'provisioning'. Since generated code is hardly readable and does not exactly what is needed, folks say: 'much better to write everything from scratch...by hand'.
·  Most of vendors hasten to make facelift claiming their software be complied with SOA...
·  Visual modeling may be great on early stages. But real world business services imply a complex business logic, which takes us back again to a huge amount of the hand made coding - in Java, C (either with or without #), VB etc.
·  We're planning to establish mission critical Web Services for connecting strategic channels and web customers. How can we trust your technology in terms of performance and scalability?
·  Though Symula ONE framework would be great for developing RIA, but what does it help (if any?) to develop server-side functionality?
·  In spite of their wide adoption as a lingua franca for inter-organizational application integration, Web Services are yet infrequent on the Web. In which aspects Symula ONE would be helpful when it is about consumer oriented Web Services?
·  What changes to our web site are required in order to embrace there Real Time Auctions, Live Instant Messaging or other Symula ONE Rich Internet Applications (RIA)?
·  Our company is a Web hosting provider. Can we extend the set of services we offer our clients with Symula Real Time Auctions and Live Instant Messaging?
·  When running the web sales with Symula One Real Time Auctions, how is it possible to promote these auctions where web surfers crowd?

Answer
·  Nowadays BILLIONS of web site tell about 'advanced software technologies' - why a glimpse on Symula.com worth reading?

Because of the unique capability, which could not be found elsewhere: enrichment of the existing web sites and portals with a rich consumer-facing functionality provided in form of Interactive Web Services.

[ Back to Top ]

·  'Words, words and words' - everybody try to feed potential customers with a 'new flavor of the acronyms soup'...

Symula SOA technology is based on logical meta modeling of visual objects (taken from the real world of application problems) while binding objects to Web Services - either pre-existing or generated on demand. Any traditional agile programming techniques are uncomparable with this must-have intuitive modeling and declarative programming technology. It immensely boosts achieving comprehensive software functionality will be published and consumed as Web Services.

[ Back to Top ]

·  Today's rich client comeback trend is evident. O'K, it seems you're pursuing 'TO BE IN'?

   The idea was in the air since the late 1990s: "Instead of writing applications for a particular operating system, write them to a Web browser. Then people could work whenever and wherever they had a Web browser".
   We, in Symula
consistently considered this as vital, nevertheless substantial technical hardness to achieve such Modus Operandi. Instead of going on several "quasi-browser" compromises, we concentrated our best efforts on true rich client, which has to be operable "purely from within the browser".
   Thence, today we are ready to answer upcoming market demand: synthesizing the best of a desktop environment with the best of the web. Symula value proposition is enabling technology for the interactive presentation layer above underlying Web Services.

[ Back to Top ]

·  ZapThink's report analyzes a new class of rich client vendor offering counts more than two dozens of rich client software vendors. How you compare with others?

The fundamentals of our rich client are fairly simple.

  1. Though we do have well-working and matured Java-based client, it couldn't be considered as appropriate. If a technology can not serve B2C, it could not claim being web-enable. And Java-based client paradigm simply is not for consumers - to install 14 megabyte of JRE (Java Run-time) just because some web shop requires Java? Means - a consumer WILL NOT BUY in this web shop. How many Java-driven shops did you meet on the web? Right. Nobody wants to lose customers.
  2. Regarding other installable proprietary plug-ins: if general public does not ready to install Java, it would not be realistic to hope for the readiness to install any proprietary plug-in.
  3. Rich Internet Application (RIA) driven by Flash seems better alternative. However, Flash-driven apps are usually very "heavy". Even though Flash plug-in is widely pre-installed, application loading takes quite a long time. Besides, Flash Action Script is yet waiting for many essential controls, it is still much for a "cool" multimedia effects rather than for business application logic and workflow.

To briefly re-cap the essentials of the rich client according to our vision:

  1. "runnable" on-demand from within web browser
  2. 100% suitable for a home user - not just for a business user (it should be the same client for B2C and for B2B / B2P)
  3. real-time responsive on every change: either in data or in user action, when yet fairly "lightweight" (all right in terms of loading time)

[ Back to Top ]

·  Modeling and then generating code is a nice old story: a lot of promise for a few of 'provisioning'. Since generated code is hardly readable and does not exactly what is needed, folks say: 'much better to write everything from scratch...by hand'.

   Old folks are absolutely right (as usual!) - if it was a source code generated from the logical meta model, it would be indeed disservice.
    What Symula generates is not a source code, but a document, or a collection of documents. Documents, which serve actually as containers of meta data, are well readable and self described. XML is used as the standard data representation format. The component is a container for an XML document representing data for the application. Data binding is easy and standard-based: you use the datapath attribute to bind components to tags in XML documents. The syntax used in the datapath attribute to point to a specific tag or tag attribute follows the standard XPath notation. So, data binding is declarative and doesn't require script, this ensures consistency between model and implementation.

[ Back to Top ]

·  Most of vendors hasten to make facelift claiming their software be complied with SOA...

   Symula  model-driven service framework (MDSF) establishes true loosely coupled service oriented architecture (SOA). Its platform independent model (PIM) is purely logical reflecting the concept of services - the real world business process participants and activities such as customer, order, item, payment, delivery terms etc. Focusing on business requirements rather than technical infrastructure specifics, everything is done at a level of abstraction that corresponds to determinable business objects and functions, their relationships and dependencies. Since the model is purely logical, application and infrastructure are loosely coupled and the isolation of the functionality from the implementation specifics is hermetic.
   Symula insures decisive implementation transparency and decoupling. Different implementations may be switched, or an older implementation upgraded, with no impact on the consumer of the software services. Thereby Symula presents genuine service-oriented programming model separating the communications, messaging and data infrastructures from business functionality of application services.

[ Back to Top ]

·  Visual modeling may be great on early stages. But real world business services imply a complex business logic, which takes us back again to a huge amount of the hand made coding - in Java, C (either with or without #), VB etc.

   Prototyping enables developers to relatively quickly prove or disprove a concept. Prototyping also allows business people to adjust their project requirements and their expectations from the desired Web Services.
   However, modeling tools which provide just a "band-in-a-box" prototype is indeed much less wholesome. The question is, what can developers do further with the prototype, which was obtained from the modeling tool? Whether true development shall re-start from the beginning since the prototyping effort has firmed up the functional requirements? If the model is built as an "all or nothing", means: the prototype could not be enriched with more complex business logic than that, which can be modeled visually, such prototype would indeed be no more than a "nice toy". Rather, with Symula, developing the application can be a simple matter of finalizing an operational prototype.
   Symula provides so powerful visual data modeling capabilities for queries, updates, reporting and analysis functionality, that hardcoding for data-centric business logic is actually needed very seldom. Along this, the framework provides open API to embed process-centric business logic. Besides embedding of a hard-coded (in C, Java, C# or VB) Web Service calls into an application, Symula takes advantage of JavaScript as its native embedded scripting language. This allows to define the highly more flexible "wiring" between Web Services in a way that is interpreted and executed at runtime.
   Developers gain speed because they do not need to compile and link JavaScript; they can simply write business rules and then -execute immediately. Moreover, the large JavaScript developer community provides a solid base of shared knowledge and support (books, websites, user groups, and other resources).

[ Back to Top ]

·  We're planning to establish mission critical Web Services for connecting strategic channels and web customers. How can we trust your technology in terms of performance and scalability?

Such a SOA application as you plan to develop must :

  • be reliable, scalable - to support growing and changing number of clients and client requests, and robust - that is proven to work under changing loads; up to supporting millions of requests a day
  • perform in a reliable and consistent manner and not consume unnecessary system resources

and (last but not least)

  • trippingly provide users with indispensable business data via continuous event-driven workflow which is based on immediate responses, smooth transitions between states and displays based on the essential application patterns: field validation, data formatting, sorting, filtering etc.

   Lets drill into a real world example: Travelocity®, a Sabre Holdings™ company that "pioneered the online travel space and continues to be the most popular travel service on the Web, giving consumers access to hundreds of airlines, thousands of hotels and cruise, last-minute and vacations packages, and best-in-class car rental companies...".  
   Lets calculate the time which shall take to providing users with business data in the conventional form of the "data-stuffed" HTML pages which Travelocity is using. User's request for flights, for example from New York to Los Angeles, will bring 37 flights. The server side processing time shall be calculated as a cumulative times required for the following operations:

  1. request for retrieving data from a data source (a database or other "backyard" data repository)
  2. retrieval a static template (no matter written in JSP, ASP or PHP)
  3. matching dynamic data within the template and generating resulting HTML.

   And finally, when calculating the total time taken data to come to a user, we shall count also

   4.  traffic time, while the resulting flights schedule HTML  in the case of Travelocity's "weights" about 166 KBytes.

   Comparing this with "Flights booking" task driven by Symula SOA application, the first operation - "request to a data source" - would take pretty much the same time as was taken in Travelocity. Further, since neither "retrieval a static template" nor "matching dynamic data" would be needed, the time taken for the second and the third operations is actually equal to zero.
   In contrast to Travelocity HTMLs causing repetitive back-and-forth transfer of about 166 KBytes each time when a client performs requests looking for flights, Symula RIA form is transferred only once, then  - upon each client request - the data transfer
takes only 3-5 Kbytes!
   There are two ways how Travelocity (and others) can leverage scalability and performance of their mission-critical and heavy loaded SOA applications. The first (which is most common) is a escalation, means - making a system data processing faster, enabling simultaneous carrying of more concurrent connections. However, after programmers efforts of code optimizing are already exhausted, the only remaining remedy is to strengthen "heavy metal": stronger servers, broader bandwidth, more servers, more bandwidth...
   The second way to better scalability and performance is elimination, means freeing systems from unnecessary or wrong encumbrances. Instead of intolerable hardware purchases, taking application software to the next architectural level would substantially improves overall performance and scalability insuring indisputable return of investment.

[ Back to Top ]

·  Though Symula ONE framework would be great for developing RIA, but what does it help (if any?) to develop server-side functionality?

   The central component of Symula One is Data Manager service. It is a place where persistent data objects "live". The objects conform to certain life cycle. They are created, retrieved, updated and destroyed.
   Before, during and after these actions the Data Manager emits events (for example: beforeUpdate, insteadOfUpdate, afterUpdate). These events allow application developer to customize the behavior of the objects. This task can be accomplished by applying JavaScript custom event handlers to the data object.
   The example bellow (script fragment) is taken from the
on-line auction application. This code is associated with the application object "Bid". When new Bid object is created, all clients participating in the auction are notified:

 1 function afterInsert
(connection, datasource, dataset, result){
2 // notify all interested parties that 3 // auction has another winner 4 publishWinnerMessage( dataset ); 5 return result; 6 } 7 8 function publishWinnerMessage( dataset ) 9 { 10 // set the command 11 var msg = { $$cmd: $C.CMD_WINNERS_UPDATE}; 12 13 // fill the message with data 14 var keys = dataset.keys(); 15 16 while (keys.hasNextElement()) { 17 var key = keys.nextElement(); 18 var value = dataset.get(key); 19 msg[key] = value; 20 } 21 22 // send the message to subscribers 23 publishMessage(msg); 24 }
   Besides, there are several services - such as configuration, logging, authentication and session management - which provide commonly essential substructure for any custom services regardless their particular application specifics. Symula ONE substantially reduces development efforts and shorten delivery time by offering all the above facilities as "off the shelf" set of pre-built highly configurable Web Services.

[ Back to Top ]

·  In spite of their wide adoption as a lingua franca for inter-organizational application integration, Web Services are yet infrequent on the Web. In which aspects Symula ONE would be helpful when it is about consumer oriented Web Services?

Symula ONE is the tool of choice to develop custom Web Services - in particular, consumer oriented. It allows to model what context sensitive data sets and operations available on them should be exposed via Web Services.
   Symula ONE allows to define business rules which express the behavioral aspects, such as validations, conditional data processing, complex calculations, notifications. Based on modeled business scenario, it generates WSDL definitions (including XML schemas of the documents to be transmitted), then - just created Web Services can be instantly deployed and invoked immediately.
Now lets imagine the following  business scenario.
   The "Musicians Paradise" shop is a conventional store selling musical instruments. They also have a Web Site hosting standard  Web catalog, allowing consumers to place orders. Recognizing the limitations of their currently exploited web site, the management team decided:

  1. To establish affiliation program to enabling partners orders placement from within their web sites via Web Services
  2. To introduce on-line auctions creating more attractive channel to sell the gear.

   A system architect, Toni Smartini, was invited to design a solution while the company's PR writer, Johnnie Hardworker, was instructed to write and publish appropriate announce about on the  web site.
   Setting-up Symula ONE framework, Toni invoked database investigator and built the object model. Based on that model he visually combined logical views consisting of the business objects such as: Order, Item, Customer, Payment Type, Payment Details, Shipping Terms and Billing Address.
   Meantime, Johnnie launched his favorite HTML content editor starting to prepare the press release.
   Using Symula ONE WS-Factory Toni generated a custom Web Service - including creation of mate data describing data set, WSDL definition of the service, and XML schema of the documents to be accepted and sent in return by the service. This way he allowed affiliation partners to arrange on-line orders placement from within several partners' web sites. The next step was to add some validations to the order placement process, like customer credit cards checks, price validation, and inventory checks. With a couple of mouse clicks the Web Service just created was deployed. The architect then prepared some test cases and run them through the web service -  all seemed working fine.
    For the on-line auctions Toni prepared some more on-line "views" for services enabling bidding on specific items. Once again, he generated the web services, and visualized them with the help of Symula ONE Factory of forms which were seemed like these.

    The last thing to mention: all that process took about five working hours. Toni went satisfied for his lunch, while Johnnie right finished running a spell checker over his almost completed article text. He was still towards formatting and applying company's corporate look & feel cascaded style sheets...

[ Back to Top ]

·  What changes to our web site are required in order to embrace there Real Time Auctions, Live Instant Messaging or other Symula ONE Rich Internet Applications (RIA)?

Symula ONE allows host sites to embrace functionality of the services without installing any new software. Consumers remains in the host site when using the enriched functionality, which is integrated dynamically.
Actually, nothing should be changed at the existing web site - just to add the following lines anywhere in your HTML/JSP/PHP/ASP/ASP.NET pages to activate the RIA client:

 1 <script type="text/javascript" 
 2         src="/symula/all206oc.js"></script>
 3 <noscript>
 4 Your warning message here...
 5 </noscript>
 6 
 7 <script type="text/javascript">
 8 var startFormName = 
 9  "xml://APPLICATIONS/BIDDING/XmlForms/AUCTION_BANNER.xml";
10 var configurationURI = "/symula/symula.properties.jsp";
11 
12 function runStartupForm() {
13   configure(configurationURI);
14   openProgram(startFormName );
15 }
16 
17 // register window.onload event handler
18 core.addEventListener(window, "load", runStartupForm);
19 </script>

[ Back to Top ]

·  Our company is a Web hosting provider. Can we extend the set of services we offer our clients with Symula Real Time Auctions and Live Instant Messaging?

Yes, Symula Server can serve multiple virtual hosts. All customers are assigned unique identifiers (CustomerID). The customers should add the following lines anywhere in their HTML/JSP/PHP/ASP/ASP.NET pages:

 1 <script type="text/javascript"
src="http://symula.yourdomain.com/symula/all206oc.js">
</script> 2 <noscript> 3 Your warning message here... 4 </noscript> 5 6 <script type="text/javascript"> 7 var startFormName =
"xml://APPLICATIONS/BIDDING/XmlForms/AUCTION_BANNER.xml"; 8 var configurationURI =
"http://symula.yourdomain.com/symula/props.jsp"+
"?CID=${ClientId}"
; 9 10 function runStartupForm() { 11 configure(configurationURI); 12 openProgram(startFormName ); 13 } 14 15 // register window.onload event handler 16 core.addEventListener(window, "load", runStartupForm); 17 </script>

[ Back to Top ]

·  When running the web sales with Symula One Real Time Auctions, how is it possible to promote these auctions where web surfers crowd?

   With Symula ONE, it becomes possible to offer your products and services to consumers via right sites with massive visitors traffic. As it was already discussed, technically to incorporate your auctions is now so easy like to put there your ads. But now you establish a complete business process  - your really selling web counter - everywhere you merely could put a banner.

[ Back to Top ]



Symula ONE
Symula ONE
Symula ONE
Symula ONE    

All logos and trademarks in this site are property of their respective owner.
© 2004 by Symula.com -  A richer Web experience delivered with less bandwidth
Privacy Policy

    Symula ONE
Symula ONE   Symula ONE

Symula - Web Application Development, Deployment, Tools, Solutions, Performance