<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Aparna&apos;s Blog</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/" />
   <link rel="self" type="application/atom+xml" href="http://learningremix.net/w2007integ/amodukur/atom.xml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27</id>
   <updated>2007-04-29T18:06:23Z</updated>
   
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.33</generator>

<entry>
   <title>SOA and Agile Methodology</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/soa.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1857</id>
   
   <published>2007-04-22T21:49:03Z</published>
   <updated>2007-04-29T18:06:23Z</updated>
   
   <summary>I came across an integresting blog post about SOA and Agile methodology , which talks about differences in SOA and Agile world views and how to mitigate them both to work with each other. An excerpt: &quot; * Agile methodologies...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=agile">agile</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=agile">agile</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=soa">SOA</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=soa">SOA</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[I came across an integresting <a href="http://weblogs.asp.net/jsgreenwood/archive/2004/10/17/243639.aspx">blog post </a>about SOA and Agile methodology , which talks about differences in SOA and Agile world views and how to mitigate them both to work with each other. An excerpt:

" * Agile methodologies promote an incremental, iterative approach to development of functionality (including method signatures), with visibility of the impact of change given through test coverage.  Basically, working on the premise that, change is cheap if supported correctly.
  
* SOA promotes a well defined service interface through contracts - these contracts are aligned against business processes, not implementation details.  The rigidity of the service interface, and its non-technical alignment allows for internal change without impacting consumers of the service.  Changing a service interface is an involved process, though; rather than an outright change, a versioning mechanism is needed due to the immutability of contracts, and therefore a migration process is required.  The visibility of service usage is also very difficult to monitor as it could be external organisations rather than internally controlled systems.  The upshot of these two factors is that change to the interfaces of a service are relatively expensive. "
 ]]>
      
   </content>
</entry>
<entry>
   <title>Becoming Agile.......</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/becoming_agile.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1855</id>
   
   <published>2007-04-22T21:30:11Z</published>
   <updated>2007-04-29T18:06:23Z</updated>
   
   <summary>Proving the need for another Agile survey, TrailRidge Consulting recently completed a survey of 550+ international respondents who currently practice Agile software development and use a tool. (And yes, for full disclosure’s sake, TrailRidge is a Rally partner.) One of...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=agile">agile</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=agile">agile</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Proving the need for another Agile survey, <a href="http://www.trailridgeconsulting.com/">TrailRidge Consulting </a>recently completed a <a href="http://www.trailridgeconsulting.com/surveys.html">survey of 550+ international respondents </a>who currently practice Agile software development and use a tool. (And yes, for full disclosure’s sake, TrailRidge is a Rally partner.) 

One of the most interesting findings: Over 40% of firms are now choosing to use specialized “Agile” tools instead of more traditional vendors that have ruled the software roost for over a decade. In contrast, traditional tools for requirements management, item workflow tracking and project management tools only get used around 10 to 20% by respondents. I suspect this figure was only that high because most teams used multiple tools. 
]]>
      
   </content>
</entry>
<entry>
   <title>Machine tagging in FlickR</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/machine_tagging_in_flickr.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1850</id>
   
   <published>2007-04-22T21:02:48Z</published>
   <updated>2007-04-29T18:06:23Z</updated>
   
   <summary>&quot;Machine tags&quot; have been introduced into Flickr as generalization of things like geotagging. Machine tags are also known by many as &quot;triple tags&quot;. These are tags with a specific syntax aimed primarily for &quot;machine consumption&quot; (that is, by programs) and...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=api">API</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=api">API</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=tags">tags</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=tags">tags</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA["<a href="http://www.flickr.com/groups/api/discuss/72157594497877875/">Machine tags</a>" have been introduced into Flickr as generalization of things like geotagging. Machine tags are also known by many as "triple tags". These are tags with a specific syntax aimed primarily for "machine consumption" (that is, by programs) and not directly for display to the typical end-user. You can use machine values to store extra data elements for a given photo. I think that it's fair to say that most important example of such data has so far been the latitude and longitude associated with a photo. So important that Flickr ultimately introduced specialized functionality to handle this data, to take that data out of the realm of having people just shoehorning that info into tags.

I'd really like to know what uptake there has been on machine tags.
]]>
      
   </content>
</entry>
<entry>
   <title>Adavnatages and Disadvanatges of Using an open API</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/adavnatages_and_disadvanatges.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1844</id>
   
   <published>2007-04-22T19:53:50Z</published>
   <updated>2007-04-29T16:42:49Z</updated>
   
   <summary>Advantages: Absolute minimum barrier to use — By not using encryption or special authentication methods, anyone with access to the Internet should be able to begin working with your API quickly. Easily distributed code — Login accounts or developer key...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=api">API</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=api">API</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[<strong>Advantages:</strong>

Absolute minimum barrier to use — By not using encryption or special authentication methods, anyone with access to the Internet should be able to begin working with your <a href="http://en.wikipedia.org/wiki/API">API</a> quickly.

Easily distributed code — Login accounts or developer key programs that make use of your API can be widely distributed and used right out of the box.

Less to worry about — If you aren't managing user accounts or development keys, it's one less thing to keep track of, and your code efforts can concentrate solely on developing the API itself.
<strong>
Disadvantages:</strong>

No control — Anyone, anywhere, can use the API, and while this may sound like the goal of web services, it drastically limits your response if abuse requests begin pouring in. If those requests are coming from an application on a single machine, it is easy enough to recognize the requests and block them at the firewall. But should an application that behaves poorly reach wide distribution, you will have a very difficult time dealing with the requests.

No encryption — All requests and responses are visible to anyone between the requesting server and the API server.

Can't contact developers — Because anyone anywhere can access the API without any prior registration, you are left without any method of directly engaging developers using the API. You may want to contact developers in situations where their application is being abusive, when changes are being made to the API that will affect their application, or to seek suggestions on how to improve the API itself.

Abuse — Unfortunately today, systems with little or no security or authentication make prime targets for abuse by some less ethical elements out there. Even if you feel that the risk is minimal, you may end up surprised at what others can take advantage of.
]]>
      
   </content>
</entry>
<entry>
   <title>Ajax Challenges</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/ajax_challenges.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1841</id>
   
   <published>2007-04-22T19:35:55Z</published>
   <updated>2007-04-29T16:42:49Z</updated>
   
   <summary>I was digging in through Ajax when I found an interesting article which talks about the challenges that Ajax might have to face. &quot; While Ajax promises to change the way we view and change the web, there are a...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[I was digging in through Ajax when I found an interesting <a href="http://www.geekinterview.com/articles/Ajax-Challenges.html">article </a> which talks about the challenges that Ajax might have to face. 

" While Ajax promises to change the way we view and change the web, there are a number of challenges that it poses to developers. With Ajax, you have to do a lot of work yourself. It is comprised of a collection of web technologies that can be used to create sites which are quick and interactive. The Ajax trend has already made an impact on traditional web developers and development software. Some experts believe that if Ajax applications continue to become more prominent, they may force many online companies to change the ways in which they conduct business. Since people are resistant to change, the best way to deal with these changes is to understand and prepare for them."
 ]]>
      
   </content>
</entry>
<entry>
   <title>The reasons why enterprises choose to utilize mashups instead of traditional IT integration technologies</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/two_main_factors_the_reasons_w.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1809</id>
   
   <published>2007-04-22T03:47:43Z</published>
   <updated>2007-04-29T00:06:02Z</updated>
   
   <summary>As we have seen through many examples throughout this course, mashups are growing in popularity among a broad variety of organizations ranging from startups to large enterprises, efficiently and cost-effectively delivering data and business logic from disparate systems into portals...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      As we have seen through many examples throughout this course, mashups are growing in popularity among a broad variety of organizations ranging from startups to large enterprises, efficiently and cost-effectively delivering data and business logic from disparate systems into portals and composite applications. Regardless of the size or complexity of the business, the reasons why enterprises choose to utilize mashups instead of traditional IT integration technologies come down to two main factors -- increased deployment speed and decreased cost.

      
   </content>
</entry>
<entry>
   <title>Benefits of a Mashup for an Enterprise</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/benefits_of_a_mashup_for_an_en.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1807</id>
   
   <published>2007-04-22T03:42:50Z</published>
   <updated>2007-04-29T00:06:02Z</updated>
   
   <summary>I was digging in through the basic advantages of using mashups in the industry and bumpped into an article which described various reasons for using mashups in an enterprise. Few of them are : Lower cost Using mashups, the effort...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[I was digging in through the basic advantages of using <a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29">mashups </a>in the industry and bumpped into an article which described various reasons for using mashups in an enterprise. Few of them are : 

<strong>Lower cost</strong>
Using mashups, the effort required becomes much less expensive compared to traditional integration for many reasons, including the need for fewer specialized programmers and no fundamental change in existing applications, security and firewall setup.

<strong>
Non-intrusive integration</strong>
Mashups are created without modifying the application to be integrated, thereby lowering the risk and impact of the integration project through eliminating the need for architectural changes, re-factoring and avoiding the politics of cross-enterprise projects. Also, the mashup approach enables the integration of applications across the enterprise where there is no other alternative other than to integrate through a web front end.

<strong>
Lower risk</strong>
Mashups allow for very short and cost-effective implementation cycles. The first integration can often be up and running in a matter of days, and further integration can be incremental and iterative, as rollouts and RO Is from the first integrations are realized. This allows enterprises to try out new approaches to building enterprise applications at a much lower risk than using traditional methods.

<strong>Time-to-market</strong>
Even complicated mashup projects that span multiple business units and geographies can be completed in weeks rather than months or years. Enterprises can gain competitive advantages by leveraging their existing enterprise applications much faster than competitors and thus increasing their business agility.

<strong>A faster and more accurate design phase</strong>
Since the web interface is intuitive and well understood by both the business person and the programmer, the application design process becomes a lot easier and less prone to errors.

<strong>Lower skill requirements</strong>
A traditional integration project requires highly skilled and specialized developers with extensive
knowledge of the individual applications and EAI technologies. With mashups, the work that involves connecting to web-enabled applications only requires developers with basic programming experience and HTML knowledge. This will reduce -- or even eliminate -- the need for highly skilled developers in an integration project.

 ]]>
      
   </content>
</entry>
<entry>
   <title>Types of mashups</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/types_of_mashups.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1804</id>
   
   <published>2007-04-22T03:35:09Z</published>
   <updated>2007-04-29T00:06:02Z</updated>
   
   <summary>Let me through some light on different types of mashups that we can create. Kapow Technologies has simplified mashups in the enterprise to three fundamental types: Presentation-level mashups Presentation-level mashups give the ability to extract and assemble various parts of...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=mashups">mashups</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Let me through some light on different types of mashups that we can create.<a href="http://www.kapowtech.com/"> Kapow Technologies</a> has simplified mashups in the enterprise to three fundamental types:

<strong>Presentation-level mashups</strong>
Presentation-level mashups give the ability to extract and assemble various parts of applications and web sites, and other assets available via HTTP to create internal portals, wikis, and customer-facing sites.
For example, Kapow's banking clients was able to create a portal for high-net-worth brokerage clients.In about six weeks’ time, this major financial institution was able to integrate information from seven different internal enterprise systems to provide a seamless, secure single web page that gave customers everything they needed to know. Without enterprise mashup technology, this project would have cost millions of dollars more, not to mention the extra time required by consultants and IT workers.

<strong>Logic-based mashups</strong>
This class of mashups combines browsable logic with REST and SO AP services into a new logic component.
A good example is Momondo (www.momondo.com), which aggregates the airfares of low-cost carriers into a single web site that is easier for customers to use than hopping around to each travel site individually.

<strong>Data/content-based mashups</strong>
Data/content-based mashups join content from two or more sources (of which some or all are web based) and either combine them into a new data repository or transfer the data to a new place or application. 


]]>
      
   </content>
</entry>
<entry>
   <title>My Experiences with MiniProject [ INSIDE INDIA - A Tourist Guide to India]</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/my_experiences_with_miniprojec.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1673</id>
   
   <published>2007-04-16T02:41:52Z</published>
   <updated>2007-04-22T23:19:59Z</updated>
   
   <summary>Thought I would let you all know what I learnt during the course of my miniproject. How to use xmlhttprequest to fetch a static file from the web server and integrate it into my webpage. How to make things work...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=miniproject">Miniproject</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=miniproject">Miniproject</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Thought I would let you all know what I learnt during the course of my <a href="http://people.emich.edu/amodukur/mini/home-1.html">miniproject</a>. 
<ul>
<li>How to use xmlhttprequest to fetch a static file from the web server and integrate it into my webpage.</li>
<li>How to make things work in both IE and FF</li>
<li>Incorporating the results into the webpage and display</li>
<li>Using an API through a Proxy Server</li>
<li>Using event handlers , DOM methhods.</li>
<li>Fixing various bugs in a phased manner.</li>
</ul>

It was completely a learning experience. Especially when it came to illustrating the process in a diagram , this is where I learnt how things are connected to each other and make them work. 

I am glad that Dr. Gibson included miniproject in the course schedule apart from the team project. It really helped me to put together my creative thoughts ;) and build a mini tourist guide :D 

]]>
      
   </content>
</entry>
<entry>
   <title>JSON Hijacking and How Ajax.NET Professional (AjaxPro) Avoids these Attacks</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/json_hijacking_and_how_ajaxnet.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1669</id>
   
   <published>2007-04-16T02:17:24Z</published>
   <updated>2007-04-22T23:19:58Z</updated>
   
   <summary>I was trying to dig in more about JSON and this is an interesting article which I came through. &quot;There are a couple of web sites reporting about security issues that hackers can use to invoke AJAX methods or use...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajaxpro">AjaxPro</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajaxpro">AjaxPro</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=json">JSON</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=json">JSON</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[I was trying to dig in more about JSON and this is an interesting article which I came through. 

 "There are a couple of web sites reporting about security issues that hackers can use to invoke AJAX methods or use the JSON output to get data from other web applications. Specificallly, these attacks use HTTP GET requests invoked via an HTML <script src=""> include element to circumvent the "same origin policy" enforced by browsers (which limits JavaScript objects like XmlHttpRequest to only calling URLs on the same domain that the page was loaded from), and then look for ways to exploit the JSON payload content. The use of HTTP POST is only working if you are in the same domain, which does not mean this is not a dangerous security issue if used in web sites where different users can access data (i.e. spaces.live.com, blogger.com,...); there it is very easy to run HTTP POST with XmlHttpRequest object in the same domain.

<a href="http://www.ajaxpro.info/">Ajax.NET Professional</a> includes a number of security built-in features that prevent it from being susceptible to these types of JSON hijacking attacks:

<strong>AjaxMethods in AjaxPro are using HTTP POST</strong>
Script files loaded via an HTML <script src=""> element within a browser can only be retreived via HTTP GET verb request. AjaxPro is using HTTP POST for every data exchange, only generated JavaScript proxy files can be requests using HTTP GET. There is no built-in support to invoke AjaxMethods with HTTP GET.

<strong>Methodname is placed in HTTP headers</strong>

AjaxPro must get the name of the method that has to be invoked on the server-side code. This string value is placed in the HTTP headers (X-AjaxPro-Method) and cannot be set by HTML <script src=""> elements within a browser. To set a HTTP header value you could use the XmlHttpRequest object, but because HTTP POST requests are not working from different origins they are blocked by all web browsers already on the client-side JavaScript code. Other frameworks are adding method names and method arguments in the URL which is very easy to hack.

<strong>PrincipalPermission attributes on AjaxMethods</strong>

A simple protection agains non-authenticated users is to add a PrincipalPermission attribute to your AjaxMethods. The use of this attributes doesn't differ to the common use of this attribute somewhere else in the .NET framework (i.e. combined with FormsAuthentication in ASP.NET).

<strong>Unique client token</strong>

There is a possibility to add a token to each request. This token is unique to each client and will be embedded in the html output of the ASP.NET page. Each AJAX request must add this value to the HTTP header values. Because the token is client dependent it is not possible to take it to another client.

<strong>Key-/CryptProvider*</strong>

Another security built-in feature are the CryptProviders. With this feature you can crypt your JSON message from and to the web server. A very simple web application could display an image with an keyword on it. This keyword will be entered by the user once a new web browser session is started. With this in-memory keyword the crypt provider can do any type of encryption like RSA or Blowfish encryption, the keyword will never be transmitted over the HTTP connection. Instead of displaying and image you could create once the user will register for the service and send it by mail."

I hope this will help you to decide which AJAX framework to use. 
]]>
      
   </content>
</entry>
<entry>
   <title>Google to Acquire DoubleClick</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/google_to_acquire_doubleclick.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1668</id>
   
   <published>2007-04-16T02:11:04Z</published>
   <updated>2007-04-22T22:13:07Z</updated>
   
   <summary>Google announced that they have acquired DoubleClick for $3.1 billion in cash (nearly double the size of their YouTube Acquisition). Microsoft was reportedly in a bidding war with Google for the company. Google gets access to DoubleClicks advertising software and,...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=google">Google</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=google">Google</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Google announced that they have acquired DoubleClick for $3.1 billion in cash (nearly double the size of their YouTube Acquisition). Microsoft was reportedly in a bidding war with Google for the company. Google gets access to DoubleClicks advertising software and, perhaps more importantly, their customers and network.

DoubleClick was founded in 1996. DoubleClick was taken private in 2005 by Hellman & Friedman and JMI Equity for $1.1 billion. The New York Times is reporting that DoubleClicks revenues are about $300 million/year.

<a href="http://biz.yahoo.com/bw/070413/20070413005593.html?.v=1">[Read More... ] </a>

]]>
      
   </content>
</entry>
<entry>
   <title>IBM developerWorks - how to build secure Ajax mashups</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/ibm_developerworks_how_to_buil.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1667</id>
   
   <published>2007-04-16T01:54:56Z</published>
   <updated>2007-04-22T22:13:07Z</updated>
   
   <summary>Brent Ashley , President, Ashley IT Services, Inc. does a quick refresher on the Ajax and Mashup basics and then discusses current and future techniques for ensuring that your Mashup is a secure one. Read the detailed article here Today...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=flash">Flash</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=flash">Flash</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=json">JSON</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=json">JSON</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=security">Security</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=security">Security</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[<strong>Brent Ashley </strong>, President, Ashley IT Services, Inc. does a quick refresher on the Ajax and Mashup basics and then discusses current and future techniques for ensuring that your Mashup is a secure one.

Read the detailed article <a href="http://www-128.ibm.com/developerworks/library/x-securemashups/">here</a> 

Today we have little choice aside from including a cross domain JavaScript file in our web page like when making a Google Maps mashup that requires the Google JavaScript to be included in the page. For a secure mashup Brent suggests using the URL fragment identifier with hidden IFrames - this can be a good solution yet both sides of the IFrame need to agree on a protocol and it is limited to less than 256 bytes of data.

Brent also discusses the future solutions that are proposed from the JSONRequest object to the <module> HTML tag.

It will be interesting to see which proposal actually comes to fruition to enable more secure Ajax Mashups. I like the JSONRequest idea though I am still weary of such a proposal even if it doesn’t send cookies and only accepts valid JSON content. Since the proposal comes from Douglas Crockford I understand why it would be called JSONRequest but it would be pretty silly not to have it also accept XML IMHO - XML doesn’t even have any problems with being “exectuted” in the unsuspecting browser like JSON does. Otherwise, I am a big fan of the Flash approach with their cross-domain XML file that lives on the server and specifies to a Flash movie what domains it can load content from. 

]]>
      
   </content>
</entry>
<entry>
   <title>Pyjamas</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/pyjamas.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1658</id>
   
   <published>2007-04-15T06:01:52Z</published>
   <updated>2007-04-22T02:38:55Z</updated>
   
   <summary>Like GWT, pyjamas involves the translation of the application and libraries (including UI widgets and DOM classes) to Javascript and the packaging up of that Javascript code. There are two core developer tools included with pyjamas. pyjs translates Python code...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=python">Python</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=python">Python</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Like GWT, <a href="http://code.google.com/p/pyjamas/downloads/list">pyjamas</a> involves the translation of the application and libraries (including UI widgets and DOM classes) to Javascript and the packaging up of that Javascript code.

 
There are two core developer tools included with pyjamas. pyjs translates Python code to Javascript by walking the Python abstract syntax tree and generating Javascript.

In many cases, built-in Python types require a custom Javascript implementation. For example, even though Python lists are similar to Javascript arrays, Python lists are converted to custom objects that implement methods like append. These custom objects required for translation by pyjs are defined in a library called pyjslib.

Like GWT, pyjamas comes with a set of UI widgets as well as a library for DOM manipulation. These libraries are written in Python but are, like everything else, translated to Javascript for deployment. 

The overall translation of individual components is managed by build which also creates the necessary boilerplate code. The result is a set of .html and .js files that can be served up by a Web server.

There are other components planned which have not been covered here such as server-side code for communication in client-server applications.

]]>
      
   </content>
</entry>
<entry>
   <title>Ajax trends in 2007</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/ajax_trends_in_2007.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1657</id>
   
   <published>2007-04-15T05:50:30Z</published>
   <updated>2007-04-22T02:38:54Z</updated>
   
   <summary>CTO of JackBe Corp. , John Crupi when asked on the when asked on what he felt on enterprise Ajax and RIA trends in 2007 said the following : &quot; There are a few trends in 2007: Here are 5...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[CTO of <a href="http://www.jackbe.com/index.php">JackBe Corp</a>. , John Crupi when asked on the when asked on what he felt on enterprise Ajax and RIA trends in 2007 said the following :

" There are a few trends in 2007: Here are 5 we are watching. 

1. Ajax will move from a snippet type technology to a respected full web-based application technology 
 
2. Desktop Java UIs will take a major nose-dive. IT funds will shift to Ajax-based UIs 
 
3. 2007 will be the year of bringing back Powerbuilder. But, it will be more like the Powerbuilder-Effect. The Intranet is replaced by the Web. The proprietary 4GL is replaced by standards-based JavaScript. The applications are lean, not fat. The applications can now seamlessly connect to loosely-coupled SOA services expressed as WSDL, REST and RSS. Not only will this provide a new class of Enterprise Web 2.0 applications, it will re-introduce the business developer. This is the developer that builds business applications by constructing applications from widgets, micro-apps and services.  
 
4. Combining the reach of the Web and the interactive richness provided by Ajax, we will see an explosion in domain-centric portal-free portals. These are Web-based dynamic desktops that look like portals, but feel like applications. And most importantly don't require a portal server. This will be the beginning of the rapid demise of today's portal. 
 
5. Developers/Architects need to get deeper understanding in Ajax, SOA and Security. Consumer Web 2.0 applications are relatively free of heavy security and governance. Enterprise Web 2.0 applications must have security and governance built . "
 
]]>
      
   </content>
</entry>
<entry>
   <title>Netflix and Usability of Ajax</title>
   <link rel="alternate" type="text/html" href="http://learningremix.net/w2007integ/amodukur/2007/04/netflix_and_usability_of_ajax.shtml" />
   <id>tag:learningremix.net,2007:/w2007integ/amodukur//27.1592</id>
   
   <published>2007-04-12T03:13:52Z</published>
   <updated>2007-04-20T06:46:35Z</updated>
   
   <summary>Just because you can, doesn&apos;t mean you should. Using Ajax on your website can be a good thing, but don&apos;t just slap Ajax in there to ride the hype. Ajax should improve your website and make it better for your...</summary>
   <author>
      <name>Aparna</name>
      
   </author>
   
   <category term="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" label="<![CDATA[<a rel="tag" href="http://learningremix.net/cgi-sys/cgiwrap/fpgibson/learningremix.net/mt-w2007integ/plugins/tags/app.cgi?blog_id=27&amp;tags=ajax">Ajax</a>]]>" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en-us" xml:base="http://learningremix.net/w2007integ/amodukur/">
      <![CDATA[Just because you can, doesn't mean you should. 

Using Ajax on your website can be a good thing, but don't just slap Ajax in there to ride the hype. Ajax should improve your website and make it better for your customers. Websites that make proper use of Ajax really show innovation and that they are thinking about the latest things to improve customer experience. <a href="http://www.netflix.com/Register">Netflix</a> is one example of a company that does just this. 

<strong>Functionality</strong>
I was browsing their movies looking for something to add to my queue and began to really appreciate what they have done with their site. First off, when you hover over a movie you can get a description of it without having to click through to a different page. I don't like having to click through an item for more information because that takes a lot of time and makes it harder to browse. This feature caters perfectly to our attention span on the Internet and keeps us browsing for more movies. It is just one of the things that makes Netflix really easy to use. 

The second thing that really impressed me was what happened when I was browsing through my recommendations. The second I pressed the "add button", a nice selection of more movies slid right up in front of me indicating that I might also like these options. This happened instantaneously and engaged me so much that I added one or two of those to my queue. 

The ultimate result of all this is that people like me end up with more movies in the queue and Netflix ends up with my money for a long time. That's a great use of Ajax.

<img alt="net.JPG" src="http://learningremix.net/w2007integ/amodukur/net.JPG" width="804" height="628" />




]]>
      
   </content>
</entry>

</feed>
