Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

Related Topics: Adobe Flex, Java IoT, Agile Computing

Adobe Flex: Article

Adobe Flex 2 - Answering Tough Questions About Enterprise Development

An interview with an expert Web programmer Anatole Tartakovsky of Farata Systems

There are cool software tools and there are practical tools. People who make their living by developing enterprise Web applications are very careful in selecting the language or technology for their needs. There is a huge difference in requirements for developing an application like Google maps and the enterprise-grade high availability business applications. Anatole Tartakovsky of Farata Systems (pictured) is one of these programmers who know pretty much everything. He lives and breathes programming. If he does not know the answer to your problem today, he’ll know it tomorrow. Flex Developer's Journal have asked Anatole some tough questions that concern most of the enterprise developers who are considering Adobe Flex 2 as a tool for their next Web application.

Q. How hard is it for typical Java EE developer with Struts and DAO skills to add Flex to their skill set?
A. I would say, the hard part is over. Flex allows seamlessly integrate your Web client with the Java server code of any flavor – POJO, Hibernate/Spring or JMS, so the server-side part remains relatively unchanged. Struts developers will find coding states in Flex a great simplification over Struts model – yet yielding fantastic user interface. Flex piggybacks on Java EE and browser technologies, so any experienced Java programmer will be able to correlate his current skills with the development process in Flex. Java and ActionScript 3 are very similar, Eclipse is a familiar environment for many developers. Tools, deployment techniques, security, performance tuning – everything can be reused.

Q. How Flex 2 technology addresses security issues?
A. The server-side security management is quite extensive, and it allows you to use either containers’ offerings or custom security providers via declarative XML binding. There are couple of challenges as Flex supports multiple protocols, so Java EE security that relies only on the HTTP sessions has to be extended, but it is simple and well documented process. On the client side, it builds on Flash player security that is known for its lack of serious security flaws. You have a built-in security manager that has all standard protection for cross-domain and zone access. Corporations can further restrict code they receive from 3rd parties by wrapping the code loaders in additional security managers.

Q. Can you share with us your experience regarding performance of the Flash 9 in a real time mode? What are your thoughts on advantages of using Flash 9 say in a real-time trading applications comparing to a tried-and-true Java Swing front end?
A. Flex is very capable of providing near real-time data rendering to the GUI and very high refresh rates on large data sets. Flash Player 9 is the high-performance modern virtual machine with precompiled optimized code and just-in-time (JIT) machine code compiler. And it is very possible to build the client portion of a real-time portfolio display integrated with news feeds and graphs with about 100 lines of Flex 2 code. A similar Java Swing program (even if it’s created by commercial IDEs) would be on average ten times larger.
The real selling point becomes obvious on a second or third day of the proof of concept phase. A decent Flex developer should be able to prototype (short of server processing) most of the UI for specific trading system by the end of the first week. If you are lucky and the system integration went fine, you can add the collaboration features and multimedia – with total client code base for the whole project within 1000-1500 lines.

Q. Can you compare performance of the Flex 2 and AJAX-based applications?
A. There are so many metrics by which you can judge the performance. First, you can just do a pure code performance comparison. I can’t cite any official metrics, but according to this presentation JavaScript was rated to be up to 5000 slower then C code. The ActionScript code (depending on JIT state and type of the operation/parameters) is compiled in highly optimized stack machine code expected to be only 50 time slower the C in interpreted mode – all the way up to native performance.
Due to its design, _JavaScript can not use the results of previous runs – every page refresh causes re-parsing of _JavaScript libraries even if they have been used before – seriously impending performance and scalability. Flex development team actively works on secure reuse of cross-domain libraries, retaining results of JIT, to make sure that over time Flex/Flash platform outruns other VMs on the client.

Q. We are pretty impressed with the quality of Flex 2 documentation and the software. We know that Flex 1.5 developers are very happy with features of Flex Builder IDE. But Java developers are spoiled by excellent and very responsive IDEs and are not too happy with the compilation speed of Flex Builder. But other than this it seems to be a pretty robust tool. If you could give an advice to Adobe on how to make this technology even better (MXML, ActionScript 3, Charting, Data Services), what would it be?

A. I’m glad you raised a concern about compiler and Eclipse environment, which is crucial for creation of the Flex ecosystem. One of the reasons why Flex seems slower then Java is that it does so much more then typical compiler. It uses a very sophisticated code generator, a multi-pass compiler/linker, JNDI to Flash Player and more. It is essentially a full-fledged platform within Eclipse. Opening code generation layers to the 3rd parties would provide for a direct plug of all Java EE technologies into a very powerful client model of Flex framework. Opening the Flash Player via Eclipse APIs would allow companies to provide developers with new Flex designers.

Q. What Flex 2 offers in terms of reporting, or business intelligence?
A.Flex is a great foundation for creating dashboards by providing high impact graphs and highly customizable grids. A transparent integration with data services and java messaging services makes it an ideal platform for creation of the enterprise dashboards. As you know, we have been developing BI solutions for Wall Street companies in Flex for quite some time, and see it as a great platform. It is capable of replacing custom PowerBuilder and VisualBasic applications for a fraction of the cost associated with a rewrite in Java report generators. In terms of replacing larger business intelligence suites, I think, it will be an interesting game – Flex offers so much in accessibility, collaboration and integration, it would be difficult for developers of business software resist to rewrite their products in Flex

Q. Java developers are very impressed with such Flex elements as data binding and E4X (XML processing), which simplifies and even changes the way people write code. What are your favorite Flex 2 features?
A. Flex 2 is innovative in so many ways, and at the same time it brings back some sanity to developers. The amount of code you need to write in Java and any other low level language is completely out of my reach. Writing less code is very addictive. You write your code in a way to make less code next time you do similar task. Open source for all major components of the framework is a great help. You build your components and libraries – to make other people’s life easier – and it is fun.

Q. Yes, we also believe that size mattes: the smaller the better. We're talking about the code. Even though modern Java IDEs can generates a boilerplate code for you, it still the code that someone will have to read and understand at some point in the future. Some Web application developers are concerned that their Flash based clients will not be properly indexed by the search engines. What's your take on this?
A. The problem is not Flash specific, but it’s more about moving from the static publishing to a content management approach. AJAX applications would have exactly the same issue as they update content without page refreshes, thus there is no new URLs to index/crawl, as well as any plain HTML site that is secured and requires a session management. As the result, the search engines are looking to get information in other way then a simple parsing of HTML . An RSS is a good example of alternative technology used by search engines and social-network Web sites.
With Flex, you have a wrapper html page that will provide initial site information. There you can provide some metadata like RSS links that will be indexed by the search engines. You seldom want the search engine to index or cache the page of an enterprise Web application as it would certainly contain some personal or other sensitive information. Also, in order to fully utilize caching of the applications, the URLs should become less relevant. I believe that new services similar to shortUrl utilizing extension of RSS will emerge and will allow application servers to persist state of the Ajax and Flex/Flash applications and expose tags to search engines via public “publishing” hubs. A simple implementation of a state identifier by a short cookie would drastically reduce traffic requirements for such services while maintaining the complete control of the security of the state content on the application provider side and eliminate multiple indexing of the same content.

Q. Many opponents of using Flex technology for the Web applications are asking this tricky question: if you move from one page to another in a pure Flash Web site, can you bookmark, say page #3?
A. The bookmarking of the sites is still available on the browser. But in Flash-based applications you do not move from one page to another as there is no roundtrip to the server – essentially you are on the same URL all the time. What looks like a page to the user is just another screen in the either monolithic or dynamic application. The approach I would take is to make application bookmark the data the user is looking for – that provides you much richer insight into the user’s preferences and type of information he is customary searching for. That data would be associated with user and combined with regular URL bookmark upon the user re-logon/cookie retrieval.

Q. Can you elaborate a bit on a little known fact (at least for the general public) that a Web browser can maintain only two connections to the Web server? Do you think it puts Flex into advantageous position comparing to AJAX based tools?
A. Flex provides extensive infrastructure for connection management. It allows you to specify all protocol details for RTMP, HTTP, HTTPS as well as plain socket connections. You can then specify the order in which the protocols have to be tried due to availability/firewall issues. Also, Flex automatically bundles multiple requests going over the same transport striving for the maximum performance out of the box. So you get much better use of the same two connections if you limit yourself to http only, and can easily control priority line versus data line. You also get an alternative real-time push or pull connections on additional protocols, direct socket API and tons of low-level hooks that allow you build any protocol you want.
An important thing for me as someone who worked on AJAX frameworks in 1999-2005 era is that Flex is unbelievably more robust in code and data delivery fields then any cross-browser AJAX solution I can think of. I would put robustness as even bigger show stopper for large AJAX applications then the performance. Flex/Flash really gives back control over communications that is very important for enterprise applications.

Thank you Anatole. We're sure your answers will help many development managers who are still sitting on a fence, and they will seriously consider Flex 2 as a front end solution for their Java EE applications.

More Stories By Flex News Desk

Flex News Desk provides the very latest news on the cross-platform Flex development framework for creating rich Internet applications, and on Adobe's AIR/Flex/Flash product combination.

Comments (4) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
A Correct Person 05/16/08 06:28:24 PM EDT

Denis Roebrt commented on the 21 Aug 2006
"Tough Questions"??? Sounds more like questions a Fox anchor would ask Bush. Sheesh, can an interview sound more like a sales pitch?

Or has Adobe finally bought Sys-Con and we don't know it yet?

Hey Denis - I see you didn't provide any "tough" questions here of your own. Probably because you don't have any. Idiot. By the way your media bias is pretty far off.

n d 08/21/06 06:32:12 PM EDT

There are cool software tools and there are practical tools. People who make their living by development of the enterprise Web applications, are very careful in selecting the language or technology for their needs. There is a huge difference in requirements for developing an application like Google maps and the enterprise-grade high availability business applications. Anatole Tartakovsky of Farata Systems is one of these programmers that know pretty much everything about Web development.

Denis Roebrt 08/21/06 10:53:14 AM EDT

"Tough Questions"??? Sounds more like questions a Fox anchor would ask Bush. Sheesh, can an interview sound more like a sales pitch?

Or has Adobe finally bought Sys-Con and we don't know it yet?

n d 08/21/06 10:34:14 AM EDT

There are cool software tools and there are practical tools. People who make their living by development of the enterprise Web applications, are very careful in selecting the language or technology for their needs. There is a huge difference in requirements for developing an application like Google maps and the enterprise-grade high availability business applications. Anatole Tartakovsky of Farata Systems is one of these programmers that know pretty much everything about Web development.

IoT & Smart Cities Stories
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...