Archive

Author Archive

RIA – Beyond Look & Feel

May 19th, 2011 vervesys No comments

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. The most prominent ones being Flex (from Adobe) and Silverlight (from Microsoft)

These technologies are being used extensively for incorporating interactivity in applications but their true potential is yet to be realized.

Verve Systems has understood the importance of understanding and keeping in mind that technology is to be utilized and not overused for functionality. Verve’s approach is to work upon the Cost vs. Usability trade-off. These problems can be solved by following initiatives and changes in approach:

• 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.
• Plan usability and user interface in proportion to functionality. Too much of interactivity with very less functionality may irritate the user
• 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.
• 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.

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.

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:
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.
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.
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.

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.

OpenLDAP Installation & Configuration

February 3rd, 2011 vervesys 3 comments

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}.

Install & Configure Database Software {Berkeley DB}

Issued the below commands from the folder /ldap/
CPPFLAGS=”-I /ldap/db-4.8.26/build_unix”
export CPPFLAGS
LDFLAGS=”-L /ldap/db-4.8.26/build_unix -R/usr/local/db-4.8.26/lib”
export LDFLAGS
LD_LIBRARY_PATH=”/usr/local/db-4.8.26/lib” {default path will be}
export LD_LIBRARY_PATH
Now issue this command from /ldap/db-4.8.26/
cd build_unix &&
../dist/configure –prefix=/usr \
–enable-compat185 \
–enable-cxx &&

The next step is to build the software. This step we compile the software:
Command : make
You are now ready to install the software; this usually requires super-user privileges.
make docdir=/ldap/db-4.8.26 install &&
chown -v -R root:root \
/usr/bin/berkeley_db42_svc \
/usr/bin/db42_* \
/usr/include/db{,_185,_cxx}.h \
/usr/lib/libdb{{,_cxx}.a,{,_cxx,_java,_tcl}-4.8.{so,a}} \
/mnt/apps/ldap/db-4.8.26/build_unix
Now we are done with Installation of Database.

Install & Configure Open LDAP

• Run configure
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 –help option: ./configure –help

• Build the software
The next step is to build the software. This step has two parts, first we construct dependencies and then we compile the software:
1) make depend 2) make

• Test the build
To ensure a correct build, you should run the test suite (it only takes a few minutes):
make test
Note : Tests which apply to your configuration will run and they should pass. Some tests, such as the replication test, may be skipped.

• Install the software
You are now ready to install the software; this usually requires super-user privileges:
su root -c make install
Everything should now be installed under /usr/local (or whatever installation prefix was used by configure).

• Edit the configuration file
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.
database bdb
suffix “dc=,dc=
rootdn “cn=Manager,dc=,dc=
rootpw secret
directory /usr/local/var/openldap-data
Be sure to replace and with the appropriate domain components of your domain name. For example, for example.com, use:
database bdb
suffix “dc=example,dc=com”
rootdn “cn=Manager,dc=example,dc=com”
rootpw secret
directory /usr/local/var/openldap-data
If your domain contains additional components, such as eng.uni.edu.eu, use:
database bdb
suffix “dc=eng,dc=uni,dc=edu,dc=eu”
rootdn “cn=Manager,dc=eng,dc=uni,dc=edu,dc=eu”
rootpw secret
directory /usr/local/var/openldap-data

Also Include the below mentioned schema to activate various objectClasses.

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/nis.schema
include /usr/local/etc/openldap/schema/misc.schema
include /usr/local/etc/openldap/schema/duaconf.schema
include /usr/local/etc/openldap/schema/java.schema
include /usr/local/etc/openldap/schema/dyngroup.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema

Add the following lines to the sldap.conf

access to attrs=userPassword,shadowlastchange
by dn=”cn=Manager,dc=example,dc=corp,dc=test,dc=local” write
by anonymous auth
by users read
by * none
access to *
by dn=”cn=admin,dc=example,dc=corp,dc=test,dc=local” write
by * read
access to dn.base=”" by * read
access to dn.base=”cn=Subschema” by * read
access to *
by self write
by users read
by anonymous auth
# ACL1
access to *
by self write
by group.exact=”cn=Admin,ou=roles,dc=example,dc=corp,dc=test,dc=local” write
by users read
by * none
# ACL2
access to *
by self read
by group.exact=”cn=Executive,ou=roles,dc=example,dc=corp,dc=test,dc=local” read
by * none

• Start SLAPD

You are now ready to start the Standalone LDAP Daemon, slapd(8), by running the command: su root -c /usr/local/libexec/slapd
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:
ldapsearch -x -b -s base ‘(objectclass=*)’ namingContexts
Note the use of single quotes around command parameters to prevent special characters from being interpreted by the shell. This should return:
dn: namingContexts: dc=example,dc=com

• Add initial entries to your directory
You can use LDAPADD to add entries to your LDAP directory. LDAPADD expects input in LDIF form. We’ll do it in two steps:
1) create an LDIF file 2) run ldapadd
Use your favorite editor and create an LDIF file that contains:
dn: dc=,dc=
objectclass: dcObject
objectclass: organization
o:
dc:

dn: cn=Manager,dc=,dc=
objectclass: organizationalRole
cn: Manager
Be sure to replace and with the appropriate domain components of your domain name. 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
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example

dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
Now, you may run LDAPADD to insert these entries into your directory.
ldapadd -x -D “cn=Manager,dc=<MY-DOMAIN>,dc=<COM>” -W -f example.ldif
Be sure to replace and with the appropriate domain components of your domain name. You will be prompted for the “secret” specified in slapd.conf.
For example, for example.com, use:
ldapadd -x -D “cn=Manager,dc=example,dc=com” -W -f example.ldif
Note: example.ldif is the file you created above.

• See if it works

Now we’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:
ldapsearch -x -b ‘dc=example,dc=com’ ‘(objectclass=*)’
This command will search for and retrieve every entry in the database.

• Create Node Roles and Users under the Base DN

1) Create a file in your favorite text editor and save it as example.ldif.
dn: ou=users,dc=example,dc=com
ou: users
objectclass: top
objectclass: organizationalUnit

2) Create a file in your favorite text editor and save it as example.ldif.
dn: ou=roles,dc=example,dc=com
ou: roles
objectclass: top
objectclass: organizationalUnit
Issue the below command to create Node Roles
ldapadd -x -D “cn=Admin,dc=example,dc=com” -W -f example.ldif

• Adding Roles to the LDAP Tree

3) Create a file in your favorite text editor and save it as example.ldif
dn: cn=Admin,ou=roles,dc=example,dc=com
objectclass: groupOfNames
cn: Admin
description: Administrator
member: cn=,ou=users,dc=example,dc=com

dn: cn=Executive, ou=roles,dc=example,dc=com
objectclass: groupOfNames
cn: Executive
description:Executive
member: cn=,ou=users,dc=example,dc=com
member: cn=,ou=users,dc=example,dc=com
Issue the below command to Add Roles
ldapadd -x -D “cn=Admin,dc=example,dc=com” -W -f example.ldif

• Other useful commands

ldapmodify -x -D “cn=Manager,dc=example,dc=com” -W -f temp.ldif
you need to create a ldif file which carries the following set of details
dn: cn=,ou=users,dc=example,dc=com
changetype: modify
replace: sn
sn:
replace: cn
cn: (old username)
cn: (New username)
ldapdelete -r -D “cn=Manager,dc=example,dc=com” –W << Entry to Delete>>
ldapsearch -x -b dc=Manager,dc=example,dc=com objectclass=*
ldapadd -x -D “cn=Admin,dc=example,dc=com” -W -f example.ldif

For any queries please contact verve@vervesys.com

Onsite Onshore Offsite Offshore…… Outsourcing

January 10th, 2011 vervesys 2 comments

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, 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.

Onsite means the site where the activity is performed, for instance, “onsite” for a banking software is the back office where that software is actually being (or is being deployed for use).

Onshore means the same shore where the activity is performed. Same shore usually refers to the same continent.

Offsite means away from the site of activity.

Offshore means away from the shore of activity and not only site, so, offsite can either be onshore or offshore.

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.

Verve Systems has realised the importance of being onsite for crucial activities to minimize hassles and operating from offshore 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.

Choosing the Right Development Partner

November 19th, 2010 vervesys No comments

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.

To overcome this distrust, the concept of Activity Partnership is emerging like anything. A company, with a need for software development activity will partner with a similar scale or lower scale software development 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:
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
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
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.

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:
1) Processes
2) Capacity / Scalability
3) Capability (Skillset and experience and exposure)
4) Appropriate quality (Product / service need not be perfect, but acceptable)
5) Cost effectivity and Value Addition
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.