Thursday, December 23, 2010

Enterprise Java Flex Applications – Architectural Approaches

Rich internet application is becoming the new face of web based enterprise applications and flex is coming up as unanimous choice in this category. In this article, I presented few architectural approaches to use flex in java environment to develop web based enterprise solutions. Also, I tried to capture few advantages and challenges involved in using flex technology.

Architectural Approaches for Java Flex Application:

In this section I presented few architectural approaches for developing Rich Internet Enterprise Applications using java flex technology at presentation tier.

Architectural Approach 1: Using Flex HTTP Services:










Figure 1: Java Flex with JSP/Servlet/Struts at web tier

In this architecture approach the presentation layer (which consists of flex) uses HTTP services to communicate with server (web tier). The communication point on server side could be a JSP or Servlet which outputs the information in XML format instead of HTML format. Thus even frameworks like Struts or JSF can be used, but then these frameworks will be responsible for only generating the data to be given to presentation tier and not to generate the HTML screens. The flex layer then receives the data, parse it (can be automated) and then present it to user.

Advantages:

1. With this architectural approach, we can still use the standard n-tier J2EE enterprise architecture.

2. This approach requires only web tier to be molded slightly (as to generate XML data instead of HTML), rest of the layers will work irrespective of the presentation tier.

3. This architectural approach involves true separation of presentation logic.

Disadvantages:

1. This approach requires the web tier to generate XML data instead of HTML. For this the web tier needs to be modified and hence slightly bind to flex.

2. This approach doesn’t use the core reason of web tier presence. The web tier doesn’t serve its purpose fully here. If the presentation layer is fully in flex (not a mix of JSP/Flex), web tier presence would be an overhead.

3. Generating XML data at server end and then parsing it back at client end, is always an overhead.

Architectural Approach 2: Using Web Services:











Figure 2: Java Flex with SOAP Web Services

In this approach, important business functionalities are exposed as web services which are consume by Flex presentation layer. In this case, since there is no web tier, the flex layer becomes thicker and heavier as not only it has to call web services and parse the outcome but also has to perform some application logic which could have been delicate to web tier.

Advantages:

1. This is one more step towards SOA architecture.

2. Complete loosely coupled architecture as the same web services can be consumed by other presentation technologies or applications (like desktop application) irrespective of underlying technologies or platform.

Disadvantages:

1. With absence of web tier, the complete application and presentation logic lies with flex, which also means lots of code written in flex.

2. Can’t be used if presentation tier needs JSP and Flex combination. Helpful only for pure flex presentation.

3. Overhead of web service consumption, data serialization and parsing.

Architectural Approach 3: Using Flash Remoting (BlazeDS):










Figure 3: Java Flex with BlazeDS Data Services

This is a more Flex-kind of approach. In this approach Flex BlazeDS or LiveCycle data services are used at web tier. Data services tools exposed the java (pojo) classes as services which can be called directly from flex. The java objects are converted into ActionScript objects and then serialized using AMF binary format.

Advantages:

1. A cleaner and more flex like approach.

2. It’s quite fast as well compared with other approaches.

3. The same pojo’s can be used to expose as web services for other applications.

Disadvantages:

1. Again with absence of web tier (JSP/Servlet), the complete application and presentation logic lies with flex, which also means lots of code written in flex.

2. Can’t be used if presentation tier needs JSP and Flex combination. Helpful only for pure flex presentation.

Java Flex Technology: Advantages and Disadvantages

Advantages/Strengths:

1. Flex provides excellent user interface without much efforts. The UI components are rich from look-n-feel as well as from functionality perspective. Many UI features like validation, waiting/loading icons, hover effects, resizable components, layouts etc comes inbuilt with flex which otherwise would take lot of extra efforts if coded using HTML/JS.

2. Flex unanimously is the best choice when it comes to media oriented rich user interface.

3. If developed using Flash Builder (which is a paid plugin in Eclipse IDE), rich UI can be built easily without much efforts. In other words, rich user interface developed within no time.

4. Flex handles data more efficiently and effectively as compared to browser HTML processor.

Disadvantages/Weaknesses:

1. First and the foremost disadvantage of using Flex technology is that it requires an additional environment to run. In case of RIA, to open screens in web browser, it requires additional plugins to be installed. Although this sounds very trivial but in many companies and firms this may not be possible due to various security constraints.

2. The IDE (Flash Builder) is paid software. This adds additional costs to the project. Although the browser plugin is freely downloadable which doesn’t add any cost at run time.

3. One needs to learn additional language (ActionScript) while working with Flex.

38 comments:

nikunj said...

Very Nice Article.

Thanks,
Nikunj

Unknown said...

nice details in java,visit this post for any other information visit this post How performance of Java enterprise apps can be enhanced?

Unknown said...

Very Nice Post in java development guide to java read more Enterprises taking Java application development seriously- But why?

Unknown said...

Great article. I am beginner Java programmer and I appreciate every useful tip. I love to read your blog. I can always fund something interesting in here. I am waiting for more your posts.
Thank you http://www.jjpconsulting.eu/services/

Unknown said...

It's interesting that many of the bloggers your tips helped to clarify a few things for me as well as giving... very specific nice content. java training institutes in chennai | java j2ee training institutes in velachery

vignesjoseph said...

Well done! You read this article style is really good. I'll read so many blogs Java Related But your sites content amazing.It's magnificent post.
Hadoop Training in Chennai | Java Training in Chennai

rana said...

Nice blog.., I think you are very experience blogger. You handle very fantastic words. Thanks for sharing.keep sharing more blogs.

Core Java Online Training

mani said...

Thanks Admin for sharing such a useful post, I hope it’s useful to many individuals for whose looking this precious information to developing their skill.want to build your website

White Label Website Builder

calypsoclub said...

Thanks for sharing this information its really helpful
Enterprise Application Services Indore

Unknown said...

Thanks for sharing this article..
If you are looking for any Cloud,Mobile & Enterprise Solutions hire Takzee. They have team of passionate individuals AWS APN Managed Partner Who are providing AWS Migration Services in Indore.
Enterprise Application Services indore
Enterprise Application development company

Unknown said...

Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!


Java Training in Chennai


Java Training in Bangalore


Java Training in Bangalore

Nandhini said...


Interesting post! This is really helpful for me. I like it! Thanks for sharing!
Mobile application developers in Chennai | PHP developers Chennai

Unknown said...

This data is magnificent. I am impressed with your writing style and how properly you define this topic. After studying your post, my understanding has improved substantially. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.
Hadoop Training in Chennai|Hadoop Training Chennai|Big Data Training in Chennai

Unknown said...

I really enjoyed while reading your article, the information you have delivered in this post was damn good. Keep sharing your post with informative content.
Regards,
Android Training Chennai|Best Android Training institute in Chennai

Anonymous said...

Nice information about test automation tools my sincere thanks for sharing post Please continue to share this post.

salesforce crm online training

Unknown said...

This is a nice article here with some useful tips for those who are not used-to comment that frequently. Thanks for this helpful information I agree with all points you have given to us. I will follow all of them.

selenium training in chennai
aws training in chennai

simbu said...

Thank you for benefiting from time to focus on this kind of, I feel firmly about it and also really like comprehending far more with this particular subject matter. In case doable, when you get know-how, is it possible to thoughts modernizing your site together with far more details? It’s extremely useful to me

java training in chennai | java training in bangalore

java online training | java training in pune

nilashri said...

Really very nice blog information for this one and more technical skills are improve,i like that kind of post.
Data Science training in marathahalli
Data Science training in btm
Data Science training in rajaji nagar
Data Science training in chennai
Data Science training in kalyan nagar
Data Science training in electronic city
Data Science training in USA

SRI said...

Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.


rpa training in Chennai | rpa training in velachery

rpa training in tambaram | rpa training in sholinganallur

rpa training in Chennai | rpa training in pune

rpa online training | rpa training in bangalore

Unknown said...

Resources like the one you mentioned here will be very useful to me ! I will post a link to this page on my blog. I am sure my visitors will find that very useful
python online training
python training in OMR
python training institute in chennai

Anonymous said...

Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
Devops Training in Chennai

sunshineprofe said...

Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
safety courses in chennai

Satish M I said...

Very useful and information content has been shared out here, Thanks for sharing it.
Visit Learn Digital Academy for more information on Digital marketing course in Bangalore.

VINITH said...

quite informative, thanks for sharing with us

- Learn Digital Academy

Thavaselvan said...

Very Good Blog. Highly valuable information have been shared. Highly useful blog..Great information has been shared. We expect many more blogs from the author. Special thanks for sharing..
SAP Training in Chennai | AWS Training in Chennai | Android Training in Chennai | Selenium Training in Chennai | Networking Training in Chennai

akalya said...

good..
internship for bba students

internship certificate for cse students

internship training in chennai

internships in hyderabad for cse students 2020

r training in chennai

robotics course

internship for ece students in core companies

internship for aeronautical engineering students in bangalore

internship for cse students in bangalore 2019

industrial visits for college students in chennai

raju said...

nice
inplant training in chennai
inplant training in chennai for it
panama web hosting
syria hosting
services hosting
afghanistan shared web hosting
andorra web hosting
belarus web hosting
brunei darussalam hosting
inplant training in chennai

Madhuvarsha said...

Thank you for sharing such a nice and interesting blog with us regarding Java. I have seen that all will say the same thing repeatedly. But in your blog, I had a chance to get some useful and unique information. I would like to suggest your blog in my dude circle.
Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

Lafay Tech Plaza said...

Most enterprise applications in the modern world are built on top of some middleware, and this middleware itself is built on something. Often times, it is built on something that is proprietary, and the vendor has no intention of ever opening the code up for public consumption. What happens when the proprietary middleware goes away? Do you have to rewrite your application all over again? Or are you stuck with a bunch of bad code? There is a better option:application migration

George said...

Migration from database to database is a tedious and risky task that requires a lot of effort. SQLServer Migration Assistanthas been developed to reduce the migration time by automating some of the tasks such as data comparison, data transformation and scripting. Migration Assistant is a standalone tool that is installed on a Windows computer.

SKP Knowledge Services said...

Thanks for sharing such a useful post.Android Application Development Services in Chennai

InventaTeq said...

Very informative Blog by you for the people who are new to this industry. Your detailed blog solves all the queries with good explanation. Keep up the good work. Thanks for sharing! We have a website too. Feel free to visit anytime.

web development course in bangalore

website developer training in bangalore

Harshita Creation said...


Very informative Blog by you for the people who are new to this industry. Your detailed blog solves all the queries with good explanation. Keep up the good work. Thanks for sharing! We have a website too. Feel free to visit anytime.

girls western dress

western dress for girls

Krishna Packer Movers said...

Very informative Blog by you for the people who are new to this industry. Your detailed blog solves all the queries with good explanation. Keep up the good work. Thanks for sharing! We have a website too. Feel free to visit anytime.

packers and movers in Malad

packers and movers in Goregaon

Invitemart said...

I am exteremly impressed by your blog, because its very powerful for the new readers and have lot of information with proper explanation. Keep up the good work. Thanks for sharing this wonderful blog! We also have a website. Please check out whenever and wherever you see this comment.

Ring ceremony invitation card

wedding card design online

Tutor said...

At our best clinical SAS institute in Hyderabad, our trainers provide convenient hours of learning and provide you with regular classes, weekend classes, and fast-track methods. Here are the following prerequisites that you enjoy with the SAS online clinical training.

ethanmitchell said...
This comment has been removed by the author.
iteducationcentre said...

This is an excellent article that provides a clear and comprehensive overview of the Java Enterprise Platform. You did a fantastic job explaining the foundational concepts and components of the platform in a way that is easy to understand.
Java classes in Pune