Once in a while, Flex developers who trust us ask for some formal writeup that would help them convince their managers that hiring Farata Systems to help with their enterprise RIA project is the right thing to do. Hence, this post contains the data from our marketing brochure. Since the readers of this text are not expected to be familiar with nitty-gritty details of development with Adobe Flex, we tried not to use many technical terms here. But if you need to convince a technical person that we know Flex Framework inside out,let us know and we’ll start using jargon.
The main goal of this short write-up is to answer the question that our perspective clients must ask themselves, “What are the advantages of hiring Farata Systems to help with our project versus many other vendors working in the same field?”
During the last 3+ years Farata Systems primarily works on development of enterprise Rich Internet Applications (RIA) utilizing Adobe Flex and AIR technologies on the client and J2EE in the server side. Besides working as consultants, we also develop reusable components and tools to improve productivity of Flex/Java developers. For example, we created a CRUD generator, a logger, an ANT script generator, Java/Flex DTO generator, and a library of enhanced Flex components. We’ve open sourced these components and tools under the name Clear Toolkit, see http://sourceforge.net/projects/cleartoolkit – all this software is available at no charge under MIT license.
O’Reilly is about to release a book “Enterprise Development with Flex” written by three founders and business partners of Farata Systems. This is their second advanced book devoted to enterprise application development with Flex and Java. The book covers the best practices and shows concrete examples of creation of enterprise-grade components and enhancing communication protocols offered by Adobe. Besides being an advanced and well researched manuscript, this book stands out among other Flex books available on the market because it’s printed as a part of Adobe Developer Library, which required approval of the authors by the members of the Adobe Flex Team.
Farata’s Flex and Java experts are invited to speak at several major conferences each year worldwide, including Adobe Max conference.
Below is a short summary of what Farata Systems brings to the table of any enterprise that develops RIA with Flex.
1. Farata Systems doesn’t hire junior developers. Based on our experience, some enterprise managers make a serious mistake by hiring the least expensive offshore developers who either went through a short Flex training or just spent several months of the real-world development with Flex. Even though Flex is a relatively simple tool to start working with, lack of understanding of its internals leads to creation of slow to load, poorly performed and not scalable applications. Pretty often, Farata’s engineers are being hired for helping to fix the issues in the projects that were developed by other vendors, but it’s not always easy to fix enterprise applications that were initially architected in a wrong way.
2. When hired for a project, Farata’s engineers start with trying to deeply understand the internals of the customer’s application, which allows them to suggest optimization of each tier of RIA. In some cases, they suggest smarter messaging on the server to lower the number of created threads. Sometimes, it makes sense to split the business traffic over different communication channels to improve the round-trip time. Special attention is being paid to splitting large enterprise into a set of loadable on demand libraries and modules, and this is done on the early stages of the project.
3. Adobe offers two products supporting efficient communications between client and server tiers. One of them is a robust and scalable product is called LiveCycle Data Services (LCDS), but its licensing costs thousands US dollars per each CPU utilized on the server. There is an open source and free solution Adobe BlazeDS, but it’s not scalable off the shelf. Farata’s engineers invested substantial amount of time experimenting in the area of improving robustness and scalability of BlazeDS, and were able to create a solution for BlazeDS installed under Jetty Server that can support at least 5000 concurrent users. The results of this research and a video recording of the stress test of this solution has been published in this blog. For some enterprise applications the ability to switch from LCDS to BlazeDS means savings of $100,000 or more.
4. The speed of the client/server data roundtrip is crucial for success of many RIA, especially for those that process high-volumes of data in the real time. The roundtrip time depends on many factors (the distance between the client and server, the number of hops for each packet, the speed of up and down streams et al.) Farata Systems architects know how to customize the implementations of the communication protocols base on the specifics of each customer’s environment. For example, recently we’ve implemented customized communication protocols for a financial trading application adding such features as
– throttling (to handle the cases when the server pushes too many messages, but the network is congested)
– adding application-specific information to the headers of the underlying messages between Flex and LCDS
– improved reliability of the protocol by adding recoverability in case of lost connection - processing of the out-of-sequence messages.
5. People often judge the application’s performance by the speed of appearance of the main view of the RIA. Knowledge of Flex internals allows us to design and fine-tune the startup process of the Flex-based RIA to make them appear on the user’s monitor as quickly as possible.
6. Some enterprise RIA require generation of various reports. Development of reportsin Flex requires allocating substantial time and human resources. Farata Systems created a reporting tool (ClearBI) for Flex applications that leads to tremendous productivity boost in this area.
7. Each of Farata’s consultants knows how to use components from the mentioned above Clear Toolkit framework, which is yet another reason of making then more productive than an average Flex developer.
8. Farata’s experts contribute to Flex community maintaining a highly-regarded technical blog where we publish commentaries and share best practices, tips and tricks useful for many Flex developers. The blog is located at http://flexblog.faratasystems.com.
The development team at Farata Systems is capable of delivering any size Flex development project. Their lead engineering and management personnel are some of the best engineers in the business. They show real leadership in combining the best of Java and Adobe Flex. I highly recommend Farata Systems
Ted Patrick, Platform Evangelist, Adobe Systems
Farata Systems continues to impress me with consistent leadership and knowledge. Their understanding of the RIA space is unmatched. After working with some of the largest Flex developers in US I am convinced we found the best. Farata’s team took our application from a crippled on-demand platform to something we use daily with clients across United States
Aaron G. Blackledge, CTO, Future Systems Advisors, LLC
I wish every vendor would be as easy to work with as Farata Systems. Complex components made for us by Farata have saved us time and money. They proactively helped to fine tune design specifications, and beat the deadlines. Their turnaround for the code modifications was lightning fast. We are planning to work with them again
Mica Endsley, President, SA Technologies
Without Farata’s Clear Data Builder we wouldn’t have chosen Adobe Flex Niel Reuben, the founder of a Silicon Valley startup Listen to what Mr. Reuben had to say at http://myflex.org/demos/Niel_on_CDB.mp3