Wednesday, November 12

Part – I Flex in Enterprise applications

Due to seriousness and robustness people who developing enterprise applications are very careful in selecting the technology platform or language for meeting their requirements. Mostly their choice is dependent on following factors.

A) Time requires developing and integrating with existing applications.
B) Security
C) Skills set resource pool.
D) Scalability and performance
E) Cost and ROI

Let’s see how Flex is good in above factors in details.

A) Time requires developing / integrating with existing applications:
Flex allows seamless integration with existing backend technologies. Such as PHP,.Net,J2EE etc. In fact previously it’s difficult to have collaborative approach of fetching data and analyzing it on client. For example if you have backend system developed in many different technologies and you want single front-end client to develop which will fetch data from them and shows analyses based output, then flex is proven good front-end tool to fit in this scenario. In fact it supports server code of any flavor POJO, Hibernate/Spring, JMS, MSMQ etc.

B) Security:
Flash player on client have built in security manager which provides all standards protection for cross-domain and zone access. Flex also supports various encryption techniques by using open source encryption library. As compare to other front-end technologies flex stands first in terms of more security.

C) Skill set resource pool:
Developing skill set of Flex programming for any OOPs programmer is very easy, especially for JSP and ASP programmer. Java, C# and ActionScript 3 are very similar. Many open source tools are available which converts code from Java and C# to Actionscript 3 syntax. Eclipse is a familiar environment for many developers. Tools, deployment techniques, security, performance tuning – everything can be reused. So learning time is less for any experience programmer which gives advantage to enterprise to reuse existing resource pool for Flex project.

D) Scalability and performance:
Flash player is high performance modern virtual machine with precompiled optimized code and just-in-time (JIT) machine code compiler. Flash player available for browser as plug-in, for Desktop application as Standalone player or Using Adobe Air runtime and for mobile as Flash- lite player. If enterprise wants to reach broad customer base with high engaging experience with in less time then Adobe Flash platform is best choice for them.

Flex performance advantages over other client technologies:

1) Prototyping application in Flex takes less time.
2) Require less amount of coding for developing client side application.
3) Customizing and developing new UI Components are easy.
4) The Highly optimized ActionScript code is only 50 time slower than C in interpreted mode depending on native system configuration and performance.
5) No refreshing.
6i) Flex provides near real-time data rendering to the GUI and very high refresh rates on large data sets.
7) Modularizing and support of design patterns make easy coding and project management.
8) Server data push:
Flex supports real-time server data push. It successfully uses server push to deliver real time live video, audio and data over http or secure https protocol.
9) It Supports Actionscript Messaging Format (AMF0 to AMF3) and XML RPC, SOAP, JSON and custom messages etc.
10) Network performance:
Flex effectively manage connection with backend using high network thru-put. It manages network availability and firewall issues. Flex combines multiple requests over same connection to achieve maximum performance. 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.

There are more advantages for to say in short Flex outperforms with other client side technologies in terms of security, performance and stability which are very important for enterprise applications.

E) Cost and ROI:

Flex SDK is available free of Cost. Open source development tools such FlashDevelop and Commercial like FlexBuilder gives good development environment. Flex offer robust application integration using Adobe open source Blaze-ds, commercial Live-cycle and third party open source Granite-ds. Flex provides so much in accessibility, localization and customize engaging experience.

Conclusion:
Investing in Flex for re-writing products for any organization is now difficult to resist as ROI on Flex development is high with comparing other client side technologies.

Flex a cool RIA tool and Business Intelligence Series


Flex is emerging as next major Web 2.0 development tool which provides rich framework for developers to deliver high application performance over any bandwidth and any kind of network with easy transition from existing legacy system.

This series have four topics will address core things about RIA development using Flex in High volume critical enterprise applications.

Topics are as follows:
1) Flex in Enterprise applications
2) Flex and BI
3) BI in Presentation layer
4) Achieving High performance ROI.


Monday, September 29

Flex Enhancement and Drawback

Well today flex and flash reach to every personal desk and enterprise desk. As per daily usage of flex and flash, I found many features which are require making flex more robust and CIO’s favorite choice in terms of enterprise development and truly “Flash”.

1) Application file size:

Current flex applications having file size likely above 200kb. If you use RSL also then it might be coming around 50kb. While if you compare it will MXML file size it merely 5kb to 10kb maximum.

2) RSL class updates:

This might be next drawback. RSL should be update/compatible with every flex application it running. If user has old RSL or latest RSL in player which is not compatible then it will end up in running limited application functionalities.

3) Flash player detection:

Latest flash player 10 beta cause problem in player detection which recommends upgrading player to 9 versions.

5) Skins codes are too much:

Skinning can be nice feature if it is independent. With lots of skinning codes in all UI components ends up in heavy file size. Result is poor performance, heavy process usage and rendering. Although it will bind skins file (made by designers or programmer classes) at runtime, which will reduce file size much. If flex give choice to use skins in terms of designer friendly and also eliminates code from UI classes then it will be biggest improvement. (Flash actually stands for designer and truly rich and creative).

6) Programmer can’t be designer:

This is de-facto standard. Might be few are exceptions in it. Well frankly speaking when any programmer makes skins for application it will be just color/properties changes. They can’t be good creative. Many end up in poor UI designs and usability performance too. Designer can do improvement but again it will end up in mash up as designer is geek who always gives good designs but lack in terms of its practical implementation specifically make lots of codes changes to programmer and compatibility issue too.

7) Lack of unique looks:

Luxury hotel and ordinary hotel give same coffee. But major difference feels in terms of environment and services. Same applicable for application which has grey scale and total new fresh looks. It change application appearance and also give it brand looks. Many enterprise application providers argue on it.

They often says

Why we require rich looks and feel ?

Customer is more sensible to indentity and has less time to search for things. They want good appearance application they are paying for usage. Learning curve must be less. "Always we like to see business people in good outfits". I think application also must have same status as it give good earnings to enterprise.

8) Runtime interpreter at client side:

This is seems crazy but thinking in deep by following facts it seems reasonable:

1) Servers are too busy in today world as everything goes on web.

2) Client gets more power in terms of PC and mobile devices.

3) HTML files are having less size and rendering at client at runtime.

4) Browser client gets faster day by day latest example is Google's "chrome".

5) Transferring more data and less codes between server and client will reduce bandwidth usage, make faster processing.

By above fact if flash player can render MXML at client will give boost to application size and performance. Yet require more security to provide this feature, but it better then current "open formatted swf". As current format can be decompile and can be capture easily.

 
web statistics