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)

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.

IoT & Smart Cities Stories
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Druva is the global leader in Cloud Data Protection and Management, delivering the industry's first data management-as-a-service solution that aggregates data from endpoints, servers and cloud applications and leverages the public cloud to offer a single pane of glass to enable data protection, governance and intelligence-dramatically increasing the availability and visibility of business critical information, while reducing the risk, cost and complexity of managing and protecting it. Druva's...
BMC has unmatched experience in IT management, supporting 92 of the Forbes Global 100, and earning recognition as an ITSM Gartner Magic Quadrant Leader for five years running. Our solutions offer speed, agility, and efficiency to tackle business challenges in the areas of service management, automation, operations, and the mainframe.
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors! In this blog post, we provide 7 tips on how, as part of our world-class faculty, you can deliver one of the most popular sessions at our events. But before reading...
DSR is a supplier of project management, consultancy services and IT solutions that increase effectiveness of a company's operations in the production sector. The company combines in-depth knowledge of international companies with expert knowledge utilising IT tools that support manufacturing and distribution processes. DSR ensures optimization and integration of internal processes which is necessary for companies to grow rapidly. The rapid growth is possible thanks, to specialized services an...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...