<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Vervesys Blog, Software application development, Verve Blog</title>
	<atom:link href="http://blogs.vervesys.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blogs.vervesys.com</link>
	<description>Software development</description>
	<lastBuildDate>Mon, 23 May 2011 06:21:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>RIA – Beyond Look &amp; Feel</title>
		<link>http://blogs.vervesys.com/archives/204</link>
		<comments>http://blogs.vervesys.com/archives/204#comments</comments>
		<pubDate>Thu, 19 May 2011 09:58:24 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Flash Solutions]]></category>
		<category><![CDATA[Flex Solutions]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/archives/204</guid>
		<description><![CDATA[RIA or Rich Internet Applications, also known as Rich Interactive Applications are applications which offer rich and interactive user experience thus making it easier for the users to use the application without much guidance and need to read manuals.
Various technologies have evolved under the umbrella of RIA and have different features and capabilities to offer. [...]]]></description>
			<content:encoded><![CDATA[<p>RIA or Rich Internet Applications, also known as Rich Interactive Applications are applications which offer rich and interactive user experience thus making it easier for the users to use the application without much guidance and need to read manuals.</p>
<p>Various technologies have evolved under the umbrella of RIA and have different features and capabilities to offer. The most prominent ones being Flex (from Adobe) and Silverlight (from Microsoft)</p>
<p>These technologies are being used extensively for incorporating interactivity in applications but their true potential is yet to be realized.</p>
<p><a href="http://www.vervesys.com/">Verve Systems</a> has understood the importance of understanding and keeping in mind that technology is to be utilized and not overused for functionality. <a href="http://www.vervesys.com/">Verve</a>’s approach is to work upon the Cost vs. Usability trade-off. These problems can be solved by following initiatives and changes in approach:</p>
<p>•	Give equal weightage to usability as to functionally. It’s crucial to consider aspects like target users, usability of the solution, non-functional needs, available infrastructure etc.<br />
•	Plan usability and user interface in proportion to functionality. Too much of interactivity with very less functionality may irritate the user<br />
•	Plan participatory designs to ensure that the users participate equally to share their views on usability of the application. If users are pleased, objective is met.<br />
•	Technical design and architecture should be made very carefully to ensure right mix of content, richness and performance. E.g. New architecture styles like MV-VM aid significantly in achieving rich user experience with considerably higher performance.</p>
<p>Also to note that RIA is being used more as a tool for Rich UI in smaller applications and Websites to demonstrate creativity in terms of look and feel. Very few companies have actually utilized RIA with the right mix of technologies to leverage the interactivity and usability factor of it.</p>
<p>Using RIA in BI and other business Solutions is rarely thought of because of various myths. Verve has addressed these myths by utilizing their expertise in RIA and experience of developing business solutions for medium and large enterprises. Here are a few of them:<br />
1.	RIA will make the application slow: Of course RIA needs more resource, and with right mix of technology and supporting architecture, there is no question of slowness. Architecture practices like MV-VM and usage of appropriate frameworks while integrating RIA with other Business Logic technologies ensures the right mix of interactivity and performance.<br />
2.	How will RIA help in BI and business apps: Business applications help in critical decision making, which needs multiple levels and types of projections, data sampling, arrangement of models etc. RIA promises availability of ample data in presentation layer itself thus offering fast manipulation and sampling of data into various models followed by their immediate visualization. This helps in quickly analysing and comparing numerous scenarios, which is not possible in conventional methods.<br />
3.	There are stability issues with RIA technologies: This is now a thing of past. Any new technology will have issues unless it settles down by getting a feel of its practical usage. Major RIA technologies like Flex and Silverlight are quite stable and consistent in their practical usage and offer even more ease of implementation compared to other conventional methods.</p>
<p>With its experience of delivering numerous business solutions, Verve has realized that any solution cannot be perfect in first shot; it evolves over a period of time with progressive iterations based on users’ feedback. It’s extremely important to understand the solution from users’ point of view because ultimately, they are the ones who decide whether the solution is success or failure. So going with this philosophy may at times demand to keep aside our intelligence to provide ease of access and understand what users actually want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/204/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenLDAP Installation &amp; Configuration</title>
		<link>http://blogs.vervesys.com/archives/199</link>
		<comments>http://blogs.vervesys.com/archives/199#comments</comments>
		<pubDate>Thu, 03 Feb 2011 06:33:14 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Active Directory Protocol]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Linux Server]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/archives/199</guid>
		<description><![CDATA[Installation of LDAP and Database Software
For OpenLDAP Server
download openldap-server from http://www.openldap.org/software/download/
For Database Software
Download Berkeley DB from http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz
Create a folder ldap Copy all the above downloaded files to folder /ldap/ unzip the files in folder /ldap/* {all the above listed compressed files}.]]></description>
			<content:encoded><![CDATA[<p>Installation of LDAP and Database Software<br />
For OpenLDAP Server<br />
download openldap-server from http://www.openldap.org/software/download/<br />
For Database Software<br />
Download Berkeley DB from http://www.sleepycat.com/update/snapshot/db-4.0.14.tar.gz<br />
Create a folder ldap Copy all the above downloaded files to folder /ldap/ unzip the files in folder /ldap/* {all the above listed compressed files}.</p>
<p><strong>Install &#038; Configure Database Software {Berkeley DB}</strong></p>
<p>Issued the below commands from the folder /ldap/<br />
CPPFLAGS=&#8221;-I /ldap/db-4.8.26/build_unix&#8221;<br />
export CPPFLAGS<br />
LDFLAGS=&#8221;-L /ldap/db-4.8.26/build_unix -R/usr/local/db-4.8.26/lib&#8221;<br />
export LDFLAGS<br />
LD_LIBRARY_PATH=&#8221;/usr/local/db-4.8.26/lib&#8221; {default path will be}<br />
export LD_LIBRARY_PATH<br />
Now issue this command from /ldap/db-4.8.26/<br />
cd build_unix &#038;&#038;<br />
../dist/configure &#8211;prefix=/usr \<br />
                  &#8211;enable-compat185 \<br />
                  &#8211;enable-cxx &#038;&#038;</p>
<p>The next step is to build the software. This step we compile the software:<br />
Command : make<br />
You are now ready to install the software; this usually requires super-user privileges.<br />
make docdir=/ldap/db-4.8.26 install &#038;&#038;<br />
chown -v -R root:root \<br />
      /usr/bin/berkeley_db42_svc \<br />
      /usr/bin/db42_* \<br />
      /usr/include/db{,_185,_cxx}.h \<br />
      /usr/lib/libdb{{,_cxx}.a,{,_cxx,_java,_tcl}-4.8.{so,a}} \<br />
      /mnt/apps/ldap/db-4.8.26/build_unix<br />
Now we are done with Installation of Database.</p>
<p><strong>Install &#038; Configure Open LDAP</strong></p>
<p>•	Run configure<br />
You will need to run the provided configure script to configure the distribution for building on your system. The configure script accepts many command line options that enable or disable optional software features. Usually the defaults are okay, but you may want to change them. To get a complete list of options that configure accepts, use the &#8211;help option: ./configure &#8211;help</p>
<p>•	Build the software<br />
The next step is to build the software. This step has two parts, first we construct dependencies and then we compile the software:<br />
1) make depend   2) make</p>
<p>•	Test the build<br />
To ensure a correct build, you should run the test suite (it only takes a few minutes):<br />
make test<br />
Note : Tests which apply to your configuration will run and they should pass. Some tests, such as the replication test, may be skipped.</p>
<p>•	Install the software<br />
You are now ready to install the software; this usually requires super-user privileges:<br />
su root -c make install<br />
Everything should now be installed under /usr/local (or whatever installation prefix was used by configure).</p>
<p>•	Edit the configuration file<br />
Use your favorite editor to edit the provided SLAPD.CONF example (usually installed as /usr/local/etc/openldap/slapd.conf) to contain a BDB database definition of the form.<br />
database bdb<br />
suffix &#8220;dc=<MY-DOMAIN>,dc=<COM>&#8221;<br />
rootdn &#8220;cn=Manager,dc=<MY-DOMAIN>,dc=<COM>&#8221;<br />
rootpw secret<br />
directory /usr/local/var/openldap-data<br />
Be sure to replace <MY-DOMAIN> and <COM> with the appropriate domain components of your domain name. For example, for example.com, use:<br />
database bdb<br />
suffix &#8220;dc=example,dc=com&#8221;<br />
rootdn &#8220;cn=Manager,dc=example,dc=com&#8221;<br />
rootpw secret<br />
directory /usr/local/var/openldap-data<br />
If your domain contains additional components, such as eng.uni.edu.eu, use:<br />
database bdb<br />
suffix &#8220;dc=eng,dc=uni,dc=edu,dc=eu&#8221;<br />
rootdn &#8220;cn=Manager,dc=eng,dc=uni,dc=edu,dc=eu&#8221;<br />
rootpw secret<br />
directory /usr/local/var/openldap-data</p>
<p>Also Include the below mentioned schema to activate various objectClasses.</p>
<p>include         /usr/local/etc/openldap/schema/core.schema<br />
include        /usr/local/etc/openldap/schema/nis.schema<br />
include         /usr/local/etc/openldap/schema/misc.schema<br />
include         /usr/local/etc/openldap/schema/duaconf.schema<br />
include         /usr/local/etc/openldap/schema/java.schema<br />
include         /usr/local/etc/openldap/schema/dyngroup.schema<br />
include        /usr/local/etc/openldap/schema/cosine.schema<br />
include         /usr/local/etc/openldap/schema/inetorgperson.schema</p>
<p>Add the following lines to the sldap.conf</p>
<p>access to attrs=userPassword,shadowlastchange<br />
        by dn=&#8221;cn=Manager,dc=example,dc=corp,dc=test,dc=local&#8221; write<br />
        by anonymous auth<br />
        by users read<br />
        by * none<br />
access to *<br />
        by dn=&#8221;cn=admin,dc=example,dc=corp,dc=test,dc=local&#8221; write<br />
        by * read<br />
access to dn.base=&#8221;" by * read<br />
access to dn.base=&#8221;cn=Subschema&#8221; by * read<br />
access to *<br />
        by self write<br />
        by users read<br />
        by anonymous auth<br />
# ACL1<br />
access to *<br />
       by self       write<br />
       by group.exact=&#8221;cn=Admin,ou=roles,dc=example,dc=corp,dc=test,dc=local&#8221; write<br />
       by users      read<br />
       by *          none<br />
# ACL2<br />
access to *<br />
       by self       read<br />
       by group.exact=&#8221;cn=Executive,ou=roles,dc=example,dc=corp,dc=test,dc=local&#8221; read<br />
       by *          none</p>
<p>•	Start SLAPD</p>
<p>You are now ready to start the Standalone LDAP Daemon, slapd(8), by running the command: su root -c /usr/local/libexec/slapd<br />
To check to see if the server is running and configured correctly, you can run a search against it with ldapsearch(1). By default, ldapsearch is installed as /usr/local/bin/ldapsearch:<br />
ldapsearch -x -b -s base &#8216;(objectclass=*)&#8217; namingContexts<br />
Note the use of single quotes around command parameters to prevent special characters from being interpreted by the shell. This should return:<br />
dn: namingContexts: dc=example,dc=com</p>
<p>•	Add initial entries to your directory<br />
You can use LDAPADD to add entries to your LDAP directory. LDAPADD expects input in LDIF form. We&#8217;ll do it in two steps:<br />
1) create an LDIF file  2) run ldapadd<br />
Use your favorite editor and create an LDIF file that contains:<br />
dn: dc=<MY-DOMAIN>,dc=<COM><br />
objectclass: dcObject<br />
objectclass: organization<br />
o: <MY ORGANIZATION><br />
dc: <MY-DOMAIN> </p>
<p>dn: cn=Manager,dc=<MY-DOMAIN>,dc=<COM><br />
objectclass: organizationalRole<br />
cn: Manager<br />
Be sure to replace <MY-DOMAIN> and <COM> with the appropriate domain components of your domain name. <MY ORGANIZATION> should be replaced with the name of your organization. When you cut and paste, be sure to trim any leading and trailing whitespace from the example<br />
dn: dc=example,dc=com<br />
objectclass: dcObject<br />
objectclass: organization<br />
o: Example Company<br />
dc: example </p>
<p>dn: cn=Manager,dc=example,dc=com<br />
objectclass: organizationalRole<br />
cn: Manager<br />
Now, you may run LDAPADD to insert these entries into your directory.<br />
ldapadd -x -D &#8220;cn=Manager,dc=&lt;MY-DOMAIN&gt;,dc=&lt;COM&gt;&#8221; -W -f example.ldif<br />
Be sure to replace <MY-DOMAIN> and <COM> with the appropriate domain components of your domain name. You will be prompted for the &#8220;secret&#8221; specified in slapd.conf.<br />
For example, for example.com, use:<br />
ldapadd -x -D &#8220;cn=Manager,dc=example,dc=com&#8221; -W -f example.ldif<br />
Note: example.ldif is the file you created above.</p>
<p>•	See if it works</p>
<p>Now we&#8217;re ready to verify the added entries are in your directory. You can use any LDAP client to do this, but our example uses the ldapsearch(1) tool. Remember to replace dc=example,dc=com with the correct values for your site:<br />
ldapsearch -x -b &#8216;dc=example,dc=com&#8217; &#8216;(objectclass=*)&#8217;<br />
This command will search for and retrieve every entry in the database.</p>
<p>•	Create Node Roles and Users under the Base DN</p>
<p>1) Create a file in your favorite text editor and save it as example.ldif.<br />
dn: ou=users,dc=example,dc=com<br />
ou: users<br />
objectclass: top<br />
objectclass: organizationalUnit</p>
<p>2) Create a file in your favorite text editor and save it as example.ldif.<br />
dn: ou=roles,dc=example,dc=com<br />
ou: roles<br />
objectclass: top<br />
objectclass: organizationalUnit<br />
Issue the below command to create Node Roles<br />
ldapadd -x -D &#8220;cn=Admin,dc=example,dc=com&#8221; -W -f example.ldif</p>
<p>•	Adding Roles to the LDAP Tree</p>
<p>3) Create a file in your favorite text editor and save it as example.ldif<br />
dn: cn=Admin,ou=roles,dc=example,dc=com<br />
objectclass: groupOfNames<br />
cn: Admin<br />
description: Administrator<br />
member: cn=<adminuser>,ou=users,dc=example,dc=com </p>
<p>dn: cn=Executive, ou=roles,dc=example,dc=com<br />
objectclass: groupOfNames<br />
cn: Executive<br />
description:Executive<br />
member: cn=<user1>,ou=users,dc=example,dc=com<br />
member: cn=<user2>,ou=users,dc=example,dc=com<br />
Issue the below command to Add Roles<br />
ldapadd -x -D &#8220;cn=Admin,dc=example,dc=com&#8221; -W -f example.ldif</p>
<p>•	Other useful commands </p>
<p>ldapmodify -x -D &#8220;cn=Manager,dc=example,dc=com&#8221; -W -f temp.ldif<br />
you need to create a ldif file which carries the following set of details<br />
dn: cn=<username>,ou=users,dc=example,dc=com<br />
changetype: modify<br />
replace: sn<br />
sn: <surname><br />
replace: cn<br />
cn: <username> (old username)<br />
cn: <username> (New username)<br />
ldapdelete -r -D &#8220;cn=Manager,dc=example,dc=com&#8221; –W << Entry to Delete>><br />
ldapsearch -x -b dc=Manager,dc=example,dc=com objectclass=*<br />
ldapadd -x -D &#8220;cn=Admin,dc=example,dc=com&#8221; -W -f example.ldif</p>
<p>For any queries please contact verve@vervesys.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/199/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Onsite Onshore Offsite Offshore…… Outsourcing</title>
		<link>http://blogs.vervesys.com/archives/191</link>
		<comments>http://blogs.vervesys.com/archives/191#comments</comments>
		<pubDate>Mon, 10 Jan 2011 11:29:44 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Offshore Outsourcing to India]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[software Application Development]]></category>
		<category><![CDATA[Offshore]]></category>
		<category><![CDATA[Offshore Software Development]]></category>
		<category><![CDATA[Offsite]]></category>
		<category><![CDATA[Onshore]]></category>
		<category><![CDATA[Onsite]]></category>
		<category><![CDATA[Outsourcing]]></category>
		<category><![CDATA[Software Outsourcing]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/archives/191</guid>
		<description><![CDATA[Too many terms are being used and are confusing the decision makers thus making them reluctant to trust outsourcing. It’s good to outsource but at the same time it’s important to understand what these terms mean with or without relating to outsourcing.
Outsourcing means out-sourcing, i.e. giving a part of the organizational activity to another company, [...]]]></description>
			<content:encoded><![CDATA[<p>Too many terms are being used and are confusing the decision makers thus making them reluctant to trust outsourcing. It’s good to outsource but at the same time it’s important to understand what these terms mean with or without relating to <a href="http://www.vervesys.com/offshore-outsourcing/offshore-outsourcing-why-verve.aspx">outsourcing</a>.</p>
<p><a href="http://www.vervesys.com/offshore-outsourcing-services/offshore-software-development-center.aspx">Outsourcing</a> means out-sourcing, i.e. giving a part of the organizational activity to another company, organization, or even sub-organization (a department within the organization) with mutual interest, so as to concentrate on core organizational activity (in which the organization has expertise) than working on auxiliary activities.</p>
<p>Onsite means the site where the activity is performed, for instance, “onsite” for a banking software is the back office where that <em>software</em> is actually being (or is being deployed for use).</p>
<p>Onshore means the same shore where the activity is performed. Same shore usually refers to the same continent.</p>
<p>Offsite means away from the site of activity.</p>
<p><a href="http://www.vervesys.com/offshore-outsourcing-services/offshore-software-development-center.aspx">Offshore</a> means away from the shore of activity and not only site, so, offsite can either be onshore or <em>offshore</em>.</p>
<p><em>With endurance and experience, Verve Systems has evolved with appropriate combinations of onsite, onshore, offsite and offshore mechanisms to add optimum value to the outsourced activity in various industries and size of businesses.</em></p>
<p><a href="http://www.vervesys.com/">Verve Systems</a> has realised the importance of being onsite for crucial activities to minimize hassles and operating from <a href="http://www.vervesys.com/offshore-outsourcing-services/offshore-software-development-center.aspx">offshore</a> for man power dependent activities to maximize savings; and has helped its clients to ensure well managed execution of outsourced activities and significant savings thus leading to quantitative as well as qualitative results of outsourcing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/191/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Choosing the Right Development Partner</title>
		<link>http://blogs.vervesys.com/archives/185</link>
		<comments>http://blogs.vervesys.com/archives/185#comments</comments>
		<pubDate>Fri, 19 Nov 2010 07:31:43 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Offshore Outsourcing to India]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[software Application Development]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=185</guid>
		<description><![CDATA[With growing competition in outsourcing, outsourcers are getting more and more aggressive in selling their services than ever. This aggression is becoming a reason for a lot of distrust within the industry.]]></description>
			<content:encoded><![CDATA[<p>With growing competition in outsourcing, outsourcers are getting more and more aggressive in selling their services than ever. This aggression is becoming a reason for a lot of distrust within the industry. </p>
<p>To overcome this distrust, the concept of Activity Partnership is emerging like anything. A company, with a need for <a href="http://www.vervesys.com/offshore-outsourcing-services/offshore-software-product-development.aspx">software development</a> activity will partner with a similar scale or lower scale <a href="http://www.vervesys.com/offshore-outsourcing-services/offshore-software-product-development.aspx">software development</a> company to become their software development partners instead of following conventional outsourcing mechanism. This model like any other model brings a few challenges along, which, if not addressed may lead to bitter relations between partners. These challenges include:<br />
1)	Retaining the trust: Either of partners when tries to leverage the trust, it may result into the other partner realizing it and feeling cheated in the relationship<br />
2)	Consistent Quality: As the engagement goes on, supplier is bound to feel relaxed in maintaining the relation resulting into lesser drive and commitment hence lesser quality of delivery<br />
3)	Fear of losing business: When the client asks for a work which is not a part of supplier’s offering, supplier usually tends to say yes due to fear of losing the engagement, which may result into failure of projects.</p>
<p>Sense of ownership, shared benefits of success and responsibility for failure are the only ways (all together) of sustaining such engagements. In short we can call it absolute transparency. Well, but this is about sustenance, and should be kept in mind while choosing a partner. Still in the inception phase, things that matter the most are:<br />
1)	Processes<br />
2)	Capacity / Scalability<br />
3)	Capability (Skillset and experience and exposure)<br />
4)	Appropriate quality (Product / service need not be perfect, but acceptable)<br />
5)	Cost effectivity and Value Addition<br />
Verve Systems, with their approach of “appropriateness than perfection” has ensured that such partnerships (especially offshore product development) are sustainable, value adding, and transparent, thus enabling their partners to trust them consistently and concentrate on their core activities than worrying about offshore relations.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/185/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing JUnit Test Cases</title>
		<link>http://blogs.vervesys.com/archives/183</link>
		<comments>http://blogs.vervesys.com/archives/183#comments</comments>
		<pubDate>Fri, 29 Oct 2010 13:34:04 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=183</guid>
		<description><![CDATA[Junit is a Java framework for performing unit tests on code. By testing code after every change, programmers can be reassured that changing a small amount of code does not break the larger system. Without automated testing tools like JUnit, retesting can be a tedious and inaccurate process. By allowing the testing process to occur frequently and automatically, you can keep software coding errors at a minimum.]]></description>
			<content:encoded><![CDATA[<p>Junit is a <a href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-java-j2me-j2ee.aspx">Java</a> framework for performing unit tests on code. By testing code after every change, programmers can be reassured that changing a small amount of code does not break the larger system. Without automated testing tools like JUnit, retesting can be a tedious and inaccurate process. By allowing the testing process to occur frequently and automatically, you can keep software coding errors at a minimum.<br />
•	Creating test cases :<br />
Test cases for JUnit are written as Java classes that extend the JUnit framework. These classes have a number of methods, each of which tests a particular function, or unit, of the code. Creating a new test case is easy.Writing a new test case requires creating a new Java class.<br />
This class is called the PropertyManagerTest?.java, and it’s where you write your tests. Each time a test is called, JUnit will execute the setUp() method for you to initialize any values you need. Next, it will call a test case and then call tearDown() to undo the initialization and go on to the next test.<br />
•	Example<br />
•<br />
package com.sample;<br />
import static org.junit.Assert.*;<br />
import org.junit.After;<br />
import org.junit.AfterClass;<br />
import org.junit.Before;<br />
import org.junit.BeforeClass;<br />
import org.junit.Ignore;<br />
import org.junit.Test;<br />
public class PropertyManagerTest {<br />
PropertyManager pm=null;<br />
    public static void setUpBeforeClass() throws Exception {<br />
    }<br />
    public static void tearDownAfterClass() throws Exception {<br />
    }<br />
    public void setUp() throws Exception {<br />
        pm=new PropertyManager();<br />
    }<br />
    public void tearDown() throws Exception {<br />
        pm=null;<br />
    }<br />
    @Test<br />
    public final void testLoadProperties() {<br />
        try{<br />
            assertNotNull(&#8220;Unable to load Properties from External File&#8221;,pm.loadProperties());<br />
            assertTrue(&#8220;No properties from external file&#8221;,pm.loadProperties().size()>0);<br />
        }catch(Exception e){<br />
            fail(&#8220;Property File is not available or  cannot be created&#8221;);<br />
        }<br />
    }<br />
    @Test<br />
    public final void testGetProperty() {<br />
        String propertyKey=&#8221;dashboard.targetenvironment&#8221;;<br />
        String propertyValue=&#8221;ec2&#8243;;<br />
        try{<br />
            assertNotNull(&#8220;Unable to load Properties from External File&#8221;,pm.loadProperties());<br />
            assertTrue(&#8220;No properties from external file&#8221;,pm.loadProperties().size()>0);<br />
            assertNotSame(&#8220;Given Property is not Available in properties file&#8221;,&#8221;",pm.getProperty(propertyKey));<br />
            assertEquals(&#8220;Improper Property Value&#8221;,propertyValue,pm.getProperty(propertyKey));<br />
        }catch(Exception e){<br />
            fail(&#8220;Property File is not available or cannot be created&#8221;);<br />
        }<br />
    }<br />
    }<br />
}<br />
The above class contains two tests :<br />
•	testLoadProperties()<br />
1) Check the properties available or not in property file.<br />
•	testGetProperty()<br />
1) Check the properties available or not in property file.<br />
2) Check the given input property against property in property file.<br />
3) Check the given input property value against property value in property file.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/183/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Leveraging Technology for Optimal Benefit</title>
		<link>http://blogs.vervesys.com/archives/175</link>
		<comments>http://blogs.vervesys.com/archives/175#comments</comments>
		<pubDate>Tue, 26 Oct 2010 14:03:59 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Business Process Outsourcing]]></category>
		<category><![CDATA[Development at Verve / Verve's Experience]]></category>
		<category><![CDATA[Information Technology Advances]]></category>
		<category><![CDATA[Information Technology Advances / Updates]]></category>
		<category><![CDATA[Technology Solutions]]></category>
		<category><![CDATA[software Application Development]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=175</guid>
		<description><![CDATA[From Very Small Companies to Large Enterprises, all of us struggle to explore right usage of technology to support business than to demand huge investments.]]></description>
			<content:encoded><![CDATA[<p>From Very Small Companies to Large Enterprises, all of us struggle to explore right usage of technology to support business than to demand huge investments.<br />
A lot of companies spend huge amounts every year for their IT portfolios and software application development to increase automation hence efficiency and reduce efforts in their business. More than 40% of these investments actually remain expenses without yielding any results. And the reasons are:<br />
•	Lack of planning (not only financial but also operational)<br />
•	Time to market the solutions<br />
•	Unmanageable expectations from the solutions<br />
•	Subcontracting hassles for larger systems (One supplier’s capacity is not enough to cater to the need)<br />
•	Procrastination in investment decisions<br />
•	Highly dependent decision making and so on…<br />
<a href="http://www.vervesys.com/">Verve Systems</a> has understood the importance of understanding and keeping in mind that technology is to be utilized and not overused for functionality. <a href="http://www.vervesys.com/offshore-outsourcing/offshore-outsourcing-project-execution.aspx">Verve’s approach</a> is to work upon the Cost vs. Usability trade-off. These problems can be solved by following initiatives and changes in approach:<br />
•	Plan holistically than only functionally or financially<br />
•	Understand that better solution will always need customization and hence time, so plan time to market accordingly. Also, weightage should be given to choose appropriate packaged solutions as per need<br />
•	Have reasonable expectations from the solution and manage the same for stakeholder and users<br />
•	Subcontracting will always cause gaps, so it’s crucial to add value at every level of engagement to eliminate these gaps<br />
•	Decisions should be made on time and on the other hand, such matters should be identified well in advance and forwarded to relevant authorities well in time to ensure timely decisions<br />
•	Dependencies can be reduced to a large extent using appropriate SDLC models, proper planning and timely measurements of progress<br />
Above all these, the approach should be to choose right technology after finalizing the need and budget than to work upon the need and budget based on technology.</p>
<p>For any queries please contact verve@vervesys.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/175/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Becoming a Microsoft Certified Partner</title>
		<link>http://blogs.vervesys.com/archives/163</link>
		<comments>http://blogs.vervesys.com/archives/163#comments</comments>
		<pubDate>Wed, 20 Oct 2010 13:13:26 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Development at Verve / Verve's Experience]]></category>
		<category><![CDATA[Microsoft Certification & Offshore Development]]></category>
		<category><![CDATA[Microsoft Certified Partner]]></category>
		<category><![CDATA[Microsoft Partner]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=163</guid>
		<description><![CDATA[Well, and the answer is yes for both the questions. It’s worth it because it demonstrates our capability to those who might have doubted it due to any reasons; it proves our eligibility to comply with the conditions of this partnership which means that we have it in us. It helps the organization in multiple ways:]]></description>
			<content:encoded><![CDATA[<p>We feel honor and pride in announcing that <a href="http://www.vervesys.com/">Verve Systems</a> recently became a <a href="https://solutionfinder.microsoft.com/Partners/PartnerDetailsView.aspx?partnerid=c728737387214abdb723f64003ec94f6">Microsoft Certified Partner</a>. Now with many companies working in onsite-offshore model hitting this partnership almost every day, the question is whether it’s worth it? Or rather, does it help in any way to the organization?<br />
Well, and the answer is yes for both the questions. It’s worth it because it demonstrates our capability to those who might have doubted it due to any reasons; it proves our eligibility to comply with the conditions of this partnership which means that we have it in us. It helps the organization in multiple ways:<br />
•	It gives a moral boost to all <a href="http://www.vervesys.com/software-outsourcing-aboutus/software-outsourcing-aboutus-team-expertise.aspx">our people</a><br />
•	It tells our prospective clients that we are not just another offshore company<br />
•	It makes our <a href="http://www.vervesys.com/software-outsourcing-aboutus/software-outsourcing-aboutus-clients.aspx">existing clients</a> feel better<br />
•	And none the less, we feel charged up to hit the Gold Partnership before end of this year (2010)<br />
It’s hardly two years since we started, and with a team of highly skilled and committed professionals we are already far beyond 5-6 years old companies in the competition. Now the point is that if a lot of companies get this certification, how valuable it is. Well, no matter how many houses are sold and bought every day, owning a house has always been a rewarding moment for the buyer. Important is how one values it himself/herself.<br />
Touch wood that our growth is of course enviable and we wish to call it phenomenal soon.</p>
<p>For any queries please contact verve@vervesys.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/163/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making Onsite-Offshore Engagement Work</title>
		<link>http://blogs.vervesys.com/archives/119</link>
		<comments>http://blogs.vervesys.com/archives/119#comments</comments>
		<pubDate>Fri, 17 Sep 2010 13:00:10 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Offshore Outsourcing to India]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=119</guid>
		<description><![CDATA[It’s hardly two years since we started, and with a team of highly skilled and committed professionals we are already far beyond 5-6 years old companies in the competition. Now the point is that if a lot of companies get this certification, how valuable it is. ]]></description>
			<content:encoded><![CDATA[<p><!--Both the parties should understand that -->Every problem or a deemed problem should be discussed openly between the client and the supplier and should be treated as an opportunity to enhance this relationship with added maturity and experience thus making these relationships perennial.<span id="more-119"></span></p>
<p>With growing economy costs are increasing and prices are reducing. In this situation, to have sustainable margins is getting more and more difficult. Offshoring or outsourced offshoring is catching a lot of attention these days because of its cost effectiveness. However, managing an onsite-offshore engagement involves a lot of hassles which keep growing due to increasing competition in offshore markets. With countries like India, China and Ukraine leading in the list it’s difficult for the clients to decide which supplier to choose. Almost all of them offer lucrative cost savings and flexible business models when they sell but almost all of them fail to meet the expectations at various levels.<br />
 <a href="http://www.vervesys.com/">Verve Systems</a> has invested its expertise and efforts in identifying the pain areas for such <a href="http://www.vervesys.com/offshore-outsourcing/offshore-outsourcing-project-engagement-model.aspx">engagements</a> and has evolved with mutually beneficial “Value Added Transparency” models. These engagement models not only ensure that transparency is maintained throughout the engagement but also utilize this transparency for overall value addition to the engagement by learning lessons and incorporating learning at every level of transparency.<br />
Important aspect to understand in these engagements is that problems do happen and they will keep happening, but the idea is to take right measures to ensure that these problems do not repeat. Most of the clients or suppliers run out of a relationship after problems and these problems keep coming in all new relationships. This is becoming a major showstopper for SMEs in offshoring locations for growing beyond certain limits.</p>
<p>For any queries please contact verve@vervesys.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/119/feed</wfw:commentRss>
		<slash:comments>176</slash:comments>
		</item>
		<item>
		<title>Java Architecture for XML Binding (JAXB)</title>
		<link>http://blogs.vervesys.com/archives/91</link>
		<comments>http://blogs.vervesys.com/archives/91#comments</comments>
		<pubDate>Mon, 31 May 2010 07:07:27 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[custom java development]]></category>
		<category><![CDATA[J2EE Application Development]]></category>
		<category><![CDATA[J2ME Development India]]></category>
		<category><![CDATA[J2ME programming India]]></category>
		<category><![CDATA[Java Application Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[java mobile application development]]></category>
		<category><![CDATA[Offshore Java Development India]]></category>

		<guid isPermaLink="false">http://blogs.vervesys.com/?p=91</guid>
		<description><![CDATA[
What&#8217;s JAXB?
The Extensible Markup Language and Java technology are natural partners in helping developers exchange data and programs across the Internet. That&#8217;s because XML has emerged as the standard for exchanging data across disparate systems, and Java technology provides a platform for building portable applications.
A new Java API called Java Architecture for XML Binding(JAXB) can [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.vervesys.com/wp-content/uploads/2010/05/Java1.bmp"><img class="aligncenter size-full wp-image-96" title="Java" src="http://blogs.vervesys.com/wp-content/uploads/2010/05/Java1.bmp" alt="" /></a></p>
<p style="text-align:justify;"><strong>What&#8217;s JAXB?</strong><br />
The Extensible Markup Language and <a title="Java" href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-java-j2me-j2ee.aspx" target="_blank">Java</a> technology are natural partners in helping developers exchange data and programs across the Internet. That&#8217;s because XML has emerged as the standard for exchanging data across disparate systems, and <a title="Java technology" href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-java-j2me-j2ee.aspx" target="_blank">Java technology</a> provides a platform for building portable applications.<br />
A new Java API called Java Architecture for XML Binding(JAXB) can make it easier to access XML documents from application written in Java Programming Language.<br />
It provides an efficient and standard way of mapping between XML and Java code.<span id="more-91"></span><br />
<strong>Accessing an XML Document  using JAXB</strong></p>
<p>→ Bind the Schema for the XML document.<br />
→ Unmarshall the document into Java content.The Java content objects represents the 		     content and organization of the XML  document, and are directly available to your program.<br />
<strong>Bind the Schema</strong></p>
<p><strong><a href="http://blogs.vervesys.com/wp-content/uploads/2010/05/java-11.bmp"><img class="aligncenter size-full wp-image-97" title="Java" src="http://blogs.vervesys.com/wp-content/uploads/2010/05/java-11.bmp" alt="" /></a><br />
</strong></p>
<p>JAXB simplifies access to an XML document from a java program by presenting the XML document to the program into java format. The first step in this process is to bind the schema for the XML document into a set of java classes that represents the schema.</p>
<p><strong>Schema</strong><br />
A schema is an XML specification that governs the allowable components of an XML document  and the relationship between the components.<br />
JAXB requires that the XML document you want to access has a schema, and that schema is written in the W3C XML Schema Language.</p>
<p><strong>Binding</strong><br />
Binding a schema means generating a set of java classes that represents the schema. All JAXB implementations provide a tool called a binding compiler to bind a schema.</p>
<p>For solaris enviornment here is the command to run the script that binds the schema.<br />
xjc.sh -p test.jaxb books.xsd -d work</p>
<p><strong><em>books.xsd</em></strong> is a XML schema. -p  option identifies a package for the generated classes and the -d option identifies a target directory. So for this command, the classes are packaged in test.jaxb within the work directory.<br />
You then compile the generated interfaces and classes.For example,<br />
javac test/jaxb/*.java  test/jaxb/impl/*.java<br />
This compiles all of the interfaces and classes in the test.jaxb package generated by the binding compiler.</p>
<p><strong>Unmarshal the Document</strong></p>
<p>Unmarshalling an XML document means creating a tree of content objects that represents the content and organization of the document. The content tree is not a DOM-based tree. In fact, content trees produced through JAXB can be more efficient in terms of memory use than DOM-based trees.<br />
The content objects are instances of the classes produced by the binding compiler. In addition to providing a binding compiler, a JAXB implementation must provide runtime APIs for JAXB-related operations such as marshalling.<br />
The APIs are provided as part of a binding framework. The binding framework comprises three packages. The primary package, javax.xml.bind, contains classes and interfaces for performing operations such as unmarshalling, marshalling, and validation (marshalling and validation will be covered later). A second package, javax.xml.bind.util, contains a number of utility classes. The third package, javax.xml.bind.helper, is designed for JAXB implementation providers.</p>
<p>To unmarshal an XML document, you:</p>
<p>→ Create a JAXBContext object. This object provides the entry point to the JAXB API. When you create the object, you need to specify a context path. This is a list of one or more package names that contain interfaces generated by the binding compiler. By allowing multiple package names in the context path, JAXB allows you to unmarshal a combination of XML data elements that correspond to different schemas.</p>
<p>For example, the following code snippet creates a JAXBContext object whose context path is test.jaxb, the package that contains the interfaces generated for the books.xsd schema:</p>
<p><strong>import javax.xml.bind.JAXBContext;</strong></p>
<p><strong>JAXBContext jc = JAXBContext.newInstance(&#8220;test.jaxb&#8221;);</strong><br />
→ Create an Unmarshaller object. This object controls the process of unmarshalling. In particular, it contains methods that perform the actual unmarshalling operation. For example, the following code snippet creates an Unmarshaller object:<br />
<strong>import javax.xml.bind.Unmarshaller;</strong><br />
<strong>Unmarshaller unmarshaller = jc.createUnmarshaller();</strong></p>
<p>→ Call the unmarshal method. This method does the actual unmarshalling of the XML document. For example, the following statement unmarshals the XML data in the books.xml file:<br />
Collection collection= (Collection) unmarshaller.unmarshal(new File( &#8220;books.xml&#8221;));<br />
Note : Collection here is a test.jaxb.Collection, not a java.util.Collection.</p>
<p>→ Use the get methods in the schema-derived classes to access the XML data. Recall that the classes that a JAXB compiler generates for a schema include get and set methods you can use to respectively obtain and specify data for each type of element and attribute in the schema.</p>
<p><strong>CollectionType.BooksType booksType = collection.getBooks();</strong></p>
<p><strong>List bookList = booksType.getBook();</strong><br />
<strong>Benefit of JAXB</strong></p>
<p>1. JAXB simplifies access to an XML document from a Java program.<br />
2. JAXB allows you to access and process XML data without having to know XML or XML processing.<br />
3. JAXB allows you to accessdata in non-sequential order. It doesn&#8217;t force you to navigate through a      tree to access the data.<br />
4. JAXB uses memory efficiently.<br />
5. By unmarshalling XML data through JAXB, java content objects that represent the content and organizaton of the data are directly available to your program.<br />
6. You can unmarshal XML data from a variety of input sources like File, Inputstream object, Url.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/91/feed</wfw:commentRss>
		<slash:comments>86</slash:comments>
		</item>
		<item>
		<title>Flex with Java Integration</title>
		<link>http://blogs.vervesys.com/archives/66</link>
		<comments>http://blogs.vervesys.com/archives/66#comments</comments>
		<pubDate>Tue, 18 May 2010 06:18:52 +0000</pubDate>
		<dc:creator>vervesys</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[custom java development]]></category>
		<category><![CDATA[j2ee programming]]></category>
		<category><![CDATA[j2me programming]]></category>
		<category><![CDATA[Java Application Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[java mobile application development]]></category>

		<guid isPermaLink="false">http://www.vervesys.com/blog/?p=66</guid>
		<description><![CDATA[Adoption to Rich Internet Applications is increasing. What about the products which were developed earlier and are not RIAs? how will they adopt RIA? It’s very simple. If your software has a architecture where the business logic is clearly separated from other layers, then you just have to start learning Adobe Flex and develop and [...]]]></description>
			<content:encoded><![CDATA[<p>Adoption to Rich Internet Applications is increasing. What about the products which were developed earlier and are not RIAs? how will they adopt RIA? It’s very simple. If your software has a architecture where the business logic is clearly separated from other layers, then you just have to start learning Adobe Flex and develop and RIA. Because Adobe <a title="Flex" href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-java-j2me-j2ee.aspx" target="_blank">Flex</a> allows us to invoke Java objects on the server from the client side Flex application.</p>
<p>How to invoke <a title="Java" href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-java-j2me-j2ee.aspx" target="_blank">Java</a> methods from <a title="Flex" href="http://www.vervesys.com/software-outsourcing-technologies/offshore-software-development-flex-flash.aspx" target="_blank">Flex</a> application?<br />
1.Add an mapping to the Java class to services-config.xml<br />
2.Map your RemoteObject (provided with Flex SDK) on the client side to the destination configured in services-config.xml<br />
3.Invoke the method in your Java class using the RemoteObject instance<span id="more-66"></span><br />
What do you need to invoke a Java method from the client side application?<br />
<strong>1.Flex Builder</strong><br />
<strong>2.Blaze DS</strong><br />
Isn’t that simple? Let’s get into details of implementing this.</p>
<p><strong>Set up Blaze DS</strong></p>
<p><strong>Step 1:</strong><br />
Download release build of BlazeDS. BlazeDS release builds are available at this URL http://opensource.adobe.com/wiki/display/blazeds/Release+Builds Click on “Download the BlazeDS binary distribution” to download the binary distribution. Binary distribution has just jar files and other configuration files required.<br />
<strong>Step 2:</strong><br />
Go to folder where you saved the downloaded file in Step 1. You would have downloaded a file named blazeds-bin-3.2.0.3978.zip. Extract the content in this file to a folder named blazeds-bin-3.2.0.3978<br />
<strong>Step 3:</strong><br />
In the blazeds-bin-3.2.0.3978 folder you will find a file named blazeds.war and blazeds-bin-readme.htm. blazeds-bin-readme.htm contains terms and conditions and license details. blazeds.war contains required jar files and configuration files for setting up BlazeDS.<br />
Extract the content in blazeds.war file into a folder called blazeds. You can extract the content using tools like winzip.<br />
Now we have downloaded and have the required files extracted to setup BlazeDS for a web application. Let’s create a web application.<br />
Creating web application<br />
If you don’t have Tomcat installed, install Tomcat from http://tomcat.apache.org/<br />
<strong>Step 4:</strong><br />
In your Tomcat installation directory, you will find a folder named webapps. Usually it is at this location on Windows Operating System “C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps”<br />
Create a web application named samplewebapp. You do this by just creating folder named samplewebapp under webapps folder.<br />
<strong>Setting up BlazeDS</strong></p>
<p>We will setup BlazeDS for the web application created in the previous step.<br />
blazeds – this is the folder in which we have blazeds.war content extracted into  in Step 3<br />
samplewebapp – this is the folder created in Step 4<br />
<strong>Step 5:</strong><br />
Copy all .jar files from blazeds/WEB-INF/lib to samplewebapp/WEB-INF/lib<br />
<strong>Step 6:</strong><br />
Copy blazeds/WEB-INF/flex folder to samplewebapp/WEB-INF<br />
This folder (blazeds/WEB-INF/flex) contains BlazeDS configuration files. Use these files to configure Remoting/Messaging/Proxy services.<br />
<strong>Step 7:</strong><br />
Now we will add Servlet mapping for BlazeDS Servlet named MessageBrokerServlet, so that BlazeDS is invoked when you send request for a Remoting/Messaging/Proxy destination using any of the channels supported.<br />
Copy blazeds/WEB-INF/web.xml to samplewebapp/WEB-INF<br />
If you already have a web.xml configured, then you can just copy the Servlet mapping for MessageBrokerServlet and the session listener. You can either copy the content below or copy it from the blazeds/WEB-INF/web.xml<br />
<!-- Http Flex Session attribute and binding listener support --></p>
<p>flex.messaging.HttpFlexSession</p>
<p><!-- MessageBroker Servlet --></p>
<p>MessageBrokerServlet<br />
MessageBrokerServlet<br />
flex.messaging.MessageBrokerServlet<br />
<span> </span>services.configuration.file <span> </span>/WEB-INF/flex/services-config.xml<br />
1</p>
<p>MessageBrokerServlet<br />
/messagebroker/*</p>
<p>That’s it you have BlazeDS setup for your web application.</p>
<p><strong>Creating Java class</strong><br />
Create the Java class with the code below and compile it. We should deploy this class in a location, where Blaze DS can find and instantiate this class. Under the folder where the Blaze DS zip file was extracted, navigate to tomcat/webapps/blazeds/WEB-INF/classes and then copy the Java class in appropriate directory structure.</p>
<p>RemoteServiceHandler.java<br />
package com.adobe.remoteobjects;<br />
import java.util.Date;<br />
public class RemoteServiceHandler {<br />
public RemoteServiceHandler()<br />
{<br />
//This is required for the Blaze DS to instantiate the class<br />
}<br />
public String getResults(String name)<br />
{<br />
String result = null;<br />
result = “Hi ” + name + “, this is a service and the time now is : ” + new Date();<br />
return result;<br />
}<br />
}</p>
<p><strong>Creating Flex application</strong><br />
Using the Flex Builder select File -&gt; New -&gt; Flex Project. Create new Flex project window will be displayed. Give your application name and other details. Select the Application Server type to J2EE. Please find the screen shot of the window I filled while developing.</p>
<p style="text-align: center;"><a href="http://www.vervesys.com/blog/wp-content/uploads/2010/05/flex_java_html_m95ca0b33.png"><img class="size-medium wp-image-73 aligncenter" title="flex_java_html_m95ca0b3" src="http://www.vervesys.com/blog/wp-content/uploads/2010/05/flex_java_html_m95ca0b33-300x268.png" alt="" width="344" height="268" /></a></p>
<p>Click Next and then Server Configuration window will be displayed. Modify the values in this window to reflect the paths in your system. Please find the sample values in the image below. Select the output folder properly so that the Flex application is compiled directly into the Tomcat web application directory.</p>
<p style="text-align: center;"><a href="http://www.vervesys.com/blog/wp-content/uploads/2010/05/flex_java_html_543fa735.png"><img class="size-medium wp-image-75 aligncenter" title="flex_java_html_543fa735" src="http://www.vervesys.com/blog/wp-content/uploads/2010/05/flex_java_html_543fa735-296x300.png" alt="" width="313" height="317" /></a></p>
<p>Once this is done continue with the project creation setup and complete it.<br />
Code to be included in the MXML file to invoke the Java class on the server is available below.<br />
In the RemoteObject, the value of the destination property should be set to the ID of the destination, which will be added to the configuration file (Explained below).</p>
<p>MyApplication.mxml</p>
<p><![CDATA[ import mx.controls.Alert; ]]&gt;</p>
<p>destination=”CreatingRpc”<br />
result=”Alert.show(event.result.toString());”<br />
fault=”Alert.show(event.fault.faultString);”<br />
/&gt;</p>
<p>This application has been configured to compile the output to the tomcat web application folder. Now that we have done developing the files required on both the client and the server. We need to configure Blaze DS.</p>
<p><strong>Configuring Blaze DS</strong><br />
Navigate to tomcat/webapps/blazeds/WEB-INF/flex and open the file remote-config.xml. Replace the XML file content with the content below. The ID of the destination added below will be used by the components at the client side. Destination added will be map the destination name to the Java class, which has to be invoked.<br />
remote-config.xml</p>
<p>class=”flex.messaging.services.RemotingService”&gt;</p>
<p>com.adobe.remoteobjects.RemoteServiceHandler</p>
<p><strong>Executing the application</strong><br />
Start the Tomcat server. Navigate to http://localhost:8400/blazeds/MyApplication-debug/MyApplication.html in your browser. Click on the Remote Service button and then you can see the message from the Java class.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.vervesys.com/archives/66/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

