{"id":3585,"date":"2013-02-21T07:00:04","date_gmt":"2013-02-21T15:00:04","guid":{"rendered":"http:\/\/www.formtek.com\/blog\/?p=3585"},"modified":"2013-02-21T07:00:04","modified_gmt":"2013-02-21T15:00:04","slug":"java-frameworks-simplified-development-but-are-there-risks","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/java-frameworks-simplified-development-but-are-there-risks\/","title":{"rendered":"Java Frameworks: Simplified Development, but are there Risks?"},"content":{"rendered":"<p>Improper use of programming languages and their associated frameworks can lead to security issues in applications.<\/p>\n<p>A<a title=\"CAST research labs report on open-source Java frameworks\" href=\"http:\/\/www.castsoftware.com\/resources\/resource\/whitepapers\/cast-report-on-application-software-health?gad=RLP\" target=\"_blank\"> report from CAST Research Labs<\/a> called CRASH \u00a0(CAST Research on Application Software Health) compared Java open-source frameworks and tried to identify and rank them based on their reliability and security.<\/p>\n<p>Jay Sapiddi, vice president of CAST Research Labs, <a title=\"Jay Sapiddi on CRASH result report\" href=\"http:\/\/finance.yahoo.com\/news\/cast-research-finds-java-frameworks-160000858.html\" target=\"_blank\">said that<\/a> &#8220;CIOs can no longer afford to be in the dark about their IT team\u2019s choice of programming language and tools, because those decisions have a material impact on the business&#8230; \u00a0IT leaders should double check their choice of framework, how they mix languages, and how they enforce architectural integrity. Frameworks boost developer productivity, but they can also heighten risk and reduce quality.&#8221;<\/p>\n<p>The report found that &#8220;a large majority of applications analyzed had some level of misconfiguration, indicating the need for better training or to simplify the use of frameworks. The research also found that application quality is affected when organizations mix multiple programming languages in a single system.&#8221;<\/p>\n<p>The report found that:<\/p>\n<ul>\n<li>Java applications built with Hibernate had the highest quality score<\/li>\n<li>Java applications built with Struts had the lowest quality score<\/li>\n<li>Applications not using any framework had a wide variance of quality scores, but those applications using only JEE scored highest<\/li>\n<li>Combining Java with other languages like C and C++ typically lowers quality scores<\/li>\n<\/ul>\n<p>But is Java itself the problem? \u00a0And is this kind of one-to-one comparison of frameworks really fair? \u00a0Hibernate and Struts, for example, are frameworks which solve very different problems.<\/p>\n<p>The deficiency being highlighted by the report is more with the way code is architected, developed, and configured. \u00a0Not to focus only on Java, <a title=\"CRASH report on C and C++ programs\" href=\"http:\/\/www.computerweekly.com\/news\/2240176689\/Finance-firm-applications-built-on-C-and-C-more-at-risk\" target=\"_blank\">the report found<\/a> that &#8220;C and C++, which are used widely in the finance sector, are harder to program, have more scope for mistakes and are of lower quality.\u201d<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fjava-frameworks-simplified-development-but-are-there-risks%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Improper use of programming languages and their associated frameworks can lead to security issues in applications. A report from CAST Research Labs called CRASH \u00a0(CAST Research on Application Software Health) compared Java open-source frameworks and tried to identify and rank<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/java-frameworks-simplified-development-but-are-there-risks\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-3585","post","type-post","status-publish","format-standard","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/3585","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=3585"}],"version-history":[{"count":0,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/3585\/revisions"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=3585"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=3585"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=3585"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}