I am Geetha, a final year graduate from computer science engineering, MLRIT, Andhra Pradesh.
I am girl student of more happy going and I believe in practical thesis rather on theory.
I as a tech student organize the educative events at my college. Last year I organized ZAVTRA2K11,
a national level technical fest, which was a huge success in the aspect of encouraging and leading
the students of engineering level to a new trend of technologies in the globe. The experience of
organizing the event made me to learn the aspects of being co-operative, making the best among
the choices, being patience to the vivid situations , working for late hours till 11pm in the college to
complete the tasks and more importantly following the leadership rules and qualities.
My voice on student role in present society in Hyderabad, to ABN Andhra Jyothi( a news channel),
had given me a confidence of speaking and communicating with officials. I was from then recognized
as a fire brand with good communication and voice of convincing.
And the great moments of my life had just took place in the month of February. I was selected as one
among the six students from INDIA, more precisely I am one among the two girl students to attend the
IBM-IDEA Innovation Workshop at Goa. I am glad to be a part of the event, and as a unique user of IDEA
among the students, and I was recognized and it helped me to be picked as one among the three students to
choose the best innovative idea to be developed by IBM-IDEA. I was appreciated for the best
performance at the event by
Mr.Tejasvi Bishnoi, Asst. Vice President, Information Technology(IDEA),
Mr.Deepak Rao, Asst. Vice President, Marketing(IDEA),
Mr. Sudhanshu Rawat, Project Executive & Vice President (IBM).
The delegates in the event asked us questions on IDEA in 3G network,how students are getting connected to 3G networks,
limit of student data packages, tarrifs and few more questions by the speaker Mr.Jaison, like
- Give an innnovative idea for $1000 to make IDEA grow
- Why IDEA and why only IDEA in 3G?
- Give ideas to reach students on 3G network
and few more.
My thought on GPS positioning Application on IDEA 3G mobile was an applauded answer along with query
solution application on Maps.
Later 3among the 6 six students were called to choose the innovative Ideas listed by the delegates.
I was one among the three and then was asked to vote for the best among the list of ideas
1. Customized bundled solution for women
2. Create an application mall
3. Communication bundled solution
As we the students were a bit in confusion,Mr.Jaison asked us to share $100 to each of the idea, in which the best
idea would be picked. I being a girl student know how much women are passionate towards their professional and
personal career and allotted more on the best idea of customized bundled solution for Women, which was later chosen
as the best idea to be implemented by the IBM-IDEA as an Innovative Idea.
I am very happy and delighted to be a part of the conference. I am very thankful to the IBM Academic Initiative and very precisely
I am thankful to IBM Academic Initiative,Mr. Lawrence Mohanraj , Regional Manager,South-west,Mr.Yuktesh,IT Specialisit-Andhra Pradesh
for giving me an opportunity to attend a great event.
While Portal offers interactive business capabilities vs. a static web site..there is also a need to provide social collaboration capabilities within the portal environment for an effective business. As with a business portal, users can interact with the enterprise, such as to obtain valuable information, assistance, or download documents... with a social portal they can ask questions, discuss various subjects, make suggestions/recommendations, find people in their network with similar interests and much more.
While IBM Connections brings in these social collaboraton capablities for any enterprise.. when integrated with portal helps develop a social portal solution. This integration is achieved by developing a set of portlets for various IBM Connections services such as profiles (Directory of colleagues you can use to build a network and locate expertise), bookmarks (Social bookmarking tool that you can use to save, organize, and share Internet and intranet bookmarks), blogs (Online journals you can use to deliver timely information with a personal touch), activities (Collaboration tool for collecting, organizing, sharing, and reusing work related to a project goal), wikis (Repository for sharing and collaborating on pages of interest to your group) and forums (View and contribute to discussion topics). These portlets offer personalized social content to the user and allow read/write capabilities. They offer similar user experience as the native IBM Connections application. These portlets offer various configurations and customization capabilities to suit various customer requirements. Existing customers for Portal and Connections benefit with this solution and have the business portal to be social by bringing in social content from social repository like IBM Connections into portal.
Download these portlets from catalog
This women's day i.e. 8th of March 2012, I had the opportunity of attending "Enterprise Cloud Conference" by Jason Bloomberg. Jason Bloomberg is a SOA and Cloud thought leader and the president of Zap Think. The conference was aimed at cutting the crap around cloud computing. Cloud has become a much used jargon without many people understanding what it actually means. So as a representative of you all, I would like to share a few takeaways from the conference.
The conference was aimed at providing a bird's eye view of cloud computing terminology, what it is and what it is not. I would follow the same pattern used during the training to report my learning. The theory was complemented by a few practical case studies of companies who have used the Cloud to run successful businesses.
The conference was held in 4 cities, Bangalore being one of them and saw several companies participating. There were delegates from IBM, HP, Cisco, Akamail, 3i Infotech, Mphasis, Mindtree, Samsung and Fidelity to name a few.
Module 1 : Cloud Introduction and Definitions
So what is this whole Cloud thing? What are cloud characterisitics?
Cloud Computing is first of all not a computing model. It is essentially a delivery model. It has been existing for decades now, so to say this whole cloud computing thing is Old Wine in New Bottles. What essentially this means is that Cloud Computing is another term for services delivered over the Internet or the World Wide Web. This has been long existent in SaaS applications (Software as a Service). The email and web apps which you have been using for quite some time now are variants of this. Where Cloud goes ahead is delivering an OS or even an entire hardware configuration as a service. This means that small startups can enjoy the advantage of huge computing powers and custom platforms without actually having to buy hardware and set up their own datacentre.
For the more technical definition-savvy, here is the Cloud Computing definition from NIST (National Institute of Science and Technology)
"Cloud Computing is a model
for enabling convenient, on-demand network access
to a shared pool of confugurabke computing resources (e.g. networks, storage, applications and Services
that can be rapidly provisioned and released with minimal management effort or service provider interaction"
What are the Deployment Models for the Cloud?
Deployment model refers to how you want to use the cloud to your organization's advantage more so where does the data resides and who operates the Cloud.The various Cloud Deployment Models are
In Cloud Computing anything which can be delivered to end-users on the Internet becomes a Service Model. The most commonly referred to Service models are SaaS, PaaS, IaaS
So when we say cloud, who are the actors involved?
A Cloud like any other service has a provider and a consumer. These are the primary actors.A Cloud Consumer is a person or organization which uses services from a Cloud Provider whereas a Cloud Provider is a person, organization or entity responsible for making a service available to the interested parties.
Besides these there may be Cloud Auditor which maintains the regulatory compliance to government guidelines; a Cloud Broker which helps a consumer to select and route to an appropriate provider much like an ESB(Enterprise Service Bus).
The backbone of all these is a Cloud Carrier which refers to the ISPs which provide Internet connectivity. No matter how fast your Cloud might be, if your network is slow, everything is slow in effect.
Actually No. SOA and Cloud are two different things. Although both are related to services. But SOA is an architectural approach which guides how you should design your enterprise applications as a set of loosely-coupled reusable services; whereas Cloud is a deployment and operational model. Cloud can be host services which have been developed as per SOA philosophy.Does Cloud provide me infinite resources?
Because of the vast computing and physical resources on the side of the cloud provider, the cloud gives an "illusion of infinite capacity". So as a matter of fact Cloud does not literally provide infinite resources. The Cloud characterisitic which gives this illusion is elasticity.
Having worked for some time on LDAP for DB2,I thought it was better if I could highlight how and in which areas LDAP can help ,when working with DB2.So with a platform like that of developerette, I thought I would use this ,so here is a brief introduction on what is LDAP and how it best fits while working with DB2.
What is LDAP?
Today people and businesses rely on networked computer systems heavily to support distributed applications where the key information is stored in central repository.
Useability scenarios for LDAP fitting best for DB2
The figure represents a typical LDAP topology where client connects to "payroll" database using the cataloged information present in the LDAP server.
Supported LDAP servers for DB2
IBM Tivoli Directory server
Microsoft Active Directory server
Sun One LDAP server
Netscape directory server
This was an attempt to highlight the major applicability scenarios where businesses can make best use of LDAP in order to better manage their data in a distributed environment.I would be probably covering the basic configuration and some CLP LDAP commands and their usage in the next part for a better hands on experience.
Fresh out of college, after years of studying the core subjects, each one of wish to create something new and exciting. Develop that code which is highly appreciated, solves the problems, is extremely efficient etc etc.
But not all of us get to develop the main source and even be a part of that development cycle in industry. So, should you be unhappy on the testing role offered? Absolutely not!
Testing is a very responsible job. No product goes into the market unless it is thoroughly tested and gets the approval of the tester that it is good to go. This role is not easy and can be very interesting. As a tester, you know the behaviour of the software more than the developer himself. You are the first client. Testing the real time scenarios, you are a bridge between the market and the development. Trust me, it is very exciting.
So, how should you go about testing?
Here are some tips on better testing:
1. Understand what is to be tested.
Know the software thoroughly. Go through the document given by the developer.
2. Ask for more.
Discuss with developer about the software's behaviour, its implementation etc. The more you involve in it, the more bugs you can find.
3. Plan your tests.
Write down the plan of the tests. This should list all the tests. Be sure to do negative testing. Often, software works in normal cases. But goes for a toss in negative conditions. Include real time scenarios, customer situations. Think like a customer.
4. Implement your tests.
Choose an efficient testing tool or language. Plan your implementation well. Remember, tests should be as efficient as the main code you are testing. This is the most interesting part. Here, you get to do automation around the software, learn new products. Can be innovative as well!!
5. Identify the bugs.
Writing tests is not all. You need to understand the erring cases, identify the defects. Get them fixed. Critical defects are highly appreciated, because you are catching them before the software goes in market. This actually saves alot!
6. Get the bugs fixed.
Let the developer fix the defect. Re-test the fixed code. Feel free to say NO, if you are not happy.
Testing is really a responsible job role. Be proud to say you assure the quality of the software to be delivered!
JollyAhuja 27000464X5 2,110 Views
I am from JSS Academy of Technical Education Noida.(Engineering Institute)
My team was one among Top 20 teams selected for TGMC ( 2007-2008).
We were called at Mumbai for felicitation and round of interviews.
Post GD/PI top 9 students were selected for recruitment.
During same year IBM started hiring Fresher as Vitality Hires ,a program run by Nipun Mehrotra(V.P ,G.B ,Geo Expansion & Route to Market) .
After a year ahead I moved to SWG Group as Tivoli Seller for North and currently pursuing the same role.
So,in nutshell all my success in last 3 years goes to TGMC,else fresher like me would never have been part of Sales force of IBM ,
Here are few details of my journey in TGMC!!
Name of the Contest: TGMC 07 (The Great Minds Challenge)
Date and Venue of the Interview held: 20th March 2008, Mumbai
Name of the Institute: JSS Academy of Technical Education, Noida
Team Name: GFORCE
Project: RADAR (Real-time Allocation De-Allocation of Resources)
Candidates: Jolly Ahuja & Ankit Ruia (team member) .
In nutshell "JUST FOLLOW YOUR DREAMS ,SUCCESS WILL AUTOMATICALLY FOLLOW YOU".
It's been seven years now since I entered the IT world and the journey so far has been so eventful that I won't go with common tag line - 'Time just flies......' :)
Setting up yourself and excelling in this competitive world and at the same time balancing your responsibilities at home does demand a lot from you. Every modern girl dream of standing on their own feet and be economically independent. That's the dream one chases for first 20-25years of one's life. I won't deny that, same was my dream too. I completed my Masters in Computer Technology and fortunately got a good break in good IT company. We all know that change is law of nature but the pace with which technology changes is really tuff to catch up with latest. One needs to regularly brush up their skills very frequently and that does demand a good amount of time from you.
So, that was about my professional role, going toward personal me, I am happy to share that despite being daughter and sister, I have the responsibilities of being a wife, daughter-in-law and most importantly mother of two small kids. If one starts counting the responsibilities that comes with that package, it won't be possible. Here, comes in picture what we call in IBM - Work/Life Balance. I would say, the stage I am in right now, is the most crucial and difficult stage. There are challenges in your professional life that you can not leave taking up as well as in personal life that you can not get rid of. There's testing time all through the way. You are being tested for your patience level almost daily. No wonder, we find many cases of Stress and frustrations in such situations. But, the key here is how we sail in these testing times, how we balance out things, how to set a demarcation between professional and personal life and coming out a winner in both area.This is the phase when the most precious thing that you can think is - TIME. One needs to make best use of the time available. Time management is the key. There are some other important skills that comes as good help. These are :
- Delegation of non-important work.
- Focusing on key areas.
- Saying 'No' to things that are really not in your area and you are not willing to go for that.
- Spending some time for self only, when you can do some thinking/planning on course of action you really want to pursue.
- Choosing the right direction.
- Open for brainstorming, discussion with peers, seniors, family whenever you are in delima.
harika01 27000547T0 2,007 Views
This is Harika, a pre-final student from Information Technology, Vishnu Institute of Technology (VIT), Andhrapradesh .Like all people, I too have a lot of enthusiasm at learning new trends in technology, and is more interested to be aware of everything.
Recently, in the month of February we went to a country level technical symposium conducted in SVECW, Andhrapradesh. There, I along with my co-partner Santhoshi Swapna gave a paper presentation on the topic “HADOOP”.
Hadoop is a flexible infrastructure for large scale computation and data processing on a network of commodity hardware. The industry is trending towards distributed systems, and Hadoop is a major player.
Luckily, we are recognized by Chief guest, Mr.
With such an encouragement, even a novice can anticipate amendment in the latest technologies. We came to know that IBM is using the Hadoop tool. An also “The Forrester Research Company” appreciated IBM Company for using HADOOP Tool.
It is vivid that IBM is encouraging the students to explore their knowledge. We are the best example.
I am thankful to IBM Academic Initiative Mr. Lawrence Mohanrai, Regional Manager, South-west and also to developerette for supporting me in sharing my experience and gratitude.
An Indian way to say Hello with dignity, respect and love to everyone.
This is my first post here at developerette and I am quite excited about it. I really hope that typing here is completely a unique experience and more exposure to learn more. So am here.. doing some shadow postings here & there as well as writing something unique here & there.
Hope to have a good learning experience here :)
KritiKamra 270004QYED 1,733 Views
Meet Ms Madhuri Rao, the enthusiastic and versatile assistant professor at Institute of Technical Education & Research, Bhubneswar.
Prof. Madhuri has a unique way of telling her stories, making them interesting and inspiring at the same time. She is a proud professional, daughter, book lover and a guide to her students. She's always ready to try something new and find motivation in the simplest of sources. Her career as a professor is a conscience choice to nurture and interact with young talented minds. Needless to say, her connection with her students is invincible!
Thank you Ma'am, for taking the time to share a part of your life with developerette. We hope to read more from you in the coming days.
Read about Prof Madhuri's unique style and her advice to follow your heart and keep a clear conscience while choosing your different roles as career women, wives and daughters.
1. Please share some details about your professional background, family and interests
I am from a family of five daughters. I being the 2nd eldest ,always had a very responsible role to play . However I also play football during my school days. I always enjoyed shouldering responsibilities , be it in school , home or in the football field.
With all five of us going to the same school and seeing the same teachers and knowing the same rules , made our growing up an experience unique in every way.
Dad and Mom could not have given us a brighter childhood and upbringing than in the way they have nurtured us.
We also made a record at Scared Heart Convent School, Jamshedpur , as the 2nd and the last family to have 5 daughters schooled in the same place and for us as a family with an association of over 2 decades.
Well, details of each of my family member may be shared only in a special request in order to not bore away the other majority of readers!! :)
Reading is my passion. Now a days programs on History Channel, Animal Planet and Discovery Channel also fascinate me....
After having finished Engineering at B.I.E.T , Odisha , I pursued my Masters in technology from Bharath University , Chennai .
Economics is a subject that always fascinated me , and I therefore studied a second postgraduate course on M.A(Economics) from University of Madras in Distance mode.
I am now pursuing Ph.D from Biju Pattnaik University of Technology , here at Bhubaneswar .
I started my career at Slash Support as an Application Engineer in the year 2005 and then moved on with higher education.
2. What made you choose a career in IT education? Can you explain how you guided your career to be where you are today?
I always wanted to teach. I have been doing it since childhood. Helping my younger sisters with their studies was something I always enjoyed. Being close to books always made me happy and reading and exploring new things gives me tremendous pleasure. I wanted a career where I could read something new all the time and I slowly managed to walk into imparting IT education. Most of my friends and classmates are big shots in IT companies, etc... but I never desired it that way. I want to see myself as a Ph.D and I do desire to work further towards a PDF as well. I am quite an orator and find delivering lectures and interacting with youthful minds and souls very satisfactory.
3. How did you guide your career to be where you are today?
By listening to my heart and conscience, and being sound and awake with realization of what choices I am making in life!
4. How have you balanced your professional and personal demands simultaneously?
Well,my upbringing is as such that I was always taught to give a patient listening to my very conscience and that little things always fails to demarcate between things. It sees no boundaries. I guess its all about doing right and wrong things. Its not about Personal and Professional things. As a teacher you can never say that you have Professional hours. You go home and you prepare for you next lecture. You cannot be annoyed even if you want when a concerned parent reaches you at hours other than 10 to 5. I stay balanced by being happy and I do things that make me happy. My parents guide me through my strenuous hours. Staying only 500 Km away from them also gives me an opportunity to meet them as often as I desire. I also have a wonderful group of friends and especially Vinod Sir & Laxmishree mam,who share their moments of research , lecture , family stuff with me and so do I. My HOD , Dr Pattnaik , and Associate Dean Dr Alok are very motivating people who themselves practice punctuality , righteousness and simplicity . Our School of Computer Science celebrates all festivals, organizes picnics and other cultural events as well. I must say that I am blessed with a competitive yet caring and enthusiastic work environment. Well on another note, I also try other things like swimming & yoga.
5. What are some of the challenges you face in your role and how do you deal with stressful days?
The major challenge that I see is the acceptance of responsibility of one as a Teacher . There are some moral guidelines and that differs from teacher to teacher. You cannot have those moral values engraved literally. Teaching to undergraduate students who would soon be a tax payer in the society , means a lot. We have the responsibility of making an upright citizen, but how far we succeed cannot be measured always. We measure the success of the Institute by the number of placements it seeks. Well, Teaching cannot be standardized. Newer technology , new methods , new concepts and a generation already ahead of us is what we have to face. Sometimes I also have to watch Cricket matches which I dislike, just to be well informed to face these kids.
Moments of stress come in everyone's life . When I am forced to do what I don't like, I find myself irritated and stressed. I sometimes reason it out,and mostly I share it with my Dad and Mom , depending on the kind of concern I have. Sometimes I share it with my sisters,and well when I realize that nobody could help... I leave it to GOD.
6. The girls in your college are aspiring women in technology. What is your advice to students to stay focused?
The Life's a stage that these young ladies are about to step onto ,its about making decisions and choices. Choices and decisions that stay for the rest of your life. While making these decisions you should realize of what is involved. Can you make a living out of this choice for the next 20 years. A career of 20 years is what you should be looking at. As women,we have responsibilities towards parents ,sisters , in-laws and that very special person. While at the same time we also have another world of professional entities. There is no common mantra or strategy of being able to excel in both of these dimensions. Each one of us have a different story to narrate and each one of us is great in our own way.
I believe in what Shakespeare said - " Some people are born great. Some work hard to achieve greatness while others have greatness thrust upon them ".
My advice to you young ladies is to follow your heart and make the right choices. You have a story to talk about in future.
KritiKamra 270004QYED 1,613 Views
Meet Bhawana, the energetic and bright woman of substance at IBM who dons many a hat on a daily basis to juggle her work in Tech Sales for Rational and her role as a mother to her young daughter. She manages her work on a tight schedule and we were lucky to capture some of her tricks in an interview with her.
Please read on to know more about a career in tech sales for women, meticulous time management and putting a child to bed on time…daily!
Thank you Bhawana, for sharing the details of your life and work with us. You certainly have taken the road less traveled by women and are a deep source of motivation!
Tell us about your role at IBM
What are the top 3 things about being associated with Rational
1. I love the challenge! As always there are many ways of achieving the desired and it is stimulating to think of what could be the best, the most optimal solution. I
2. You really need to know your stuff..It’s not just selling a box…it’s talking about technology. You need to be convincing which is only possible if you know the Rational portfolio.. breadth and depth. It needs you to constantly read, learn, try.
3. On a lighter note, people in my social circle (daughter’s school especially) take me seriously. I am able to live having my own identity, somebody with some grey matter and not just a Mrs. Gupta or Jiya’s mom
How do you manage a demanding role as this and your family life?
I have processes set for daily routines which require minimum intervention during the week when I am busy with work. Weekends are completely home time. Saturday mornings devoted to restocking house with groceries. Sunday mornings are breakfast outings coupled with a movie at INOX.
I have an eight year old daughter, Jiya. This means I need to cater to her various needs all the time.. It’s my role to keep things balanced and stay focused on her and my work. Time management is the key to this and I follow it strictly. 7pm to 9pm is the time I spend with my family listening to her endless stories while eating. Post that, it is routine homework, storytime and finally bedtime at 8.30 pm. My ‘me’ time start at 9 pm till about 11pm, when I devote uninterrupted time to reading and updating myself to stay ahead at work.
All in All it’s a balance between professional and personal needs. One doesn’t really have to stop doing anything. You have to strike the balance. It could take time, there are trying phases as well (no household help) but it all still works out with some help from the spouse and colleagues. Colleagues also play a big role in helping you manage this balance.
Would you recommend a career in tech sales to women and aspiring students?
Although I chanced upon a role in tech sales, I would still recommend it. The moment you hear sales, you associate men with the role. That is why, I think it’s important for women to join this field to explore their boundaries. You have to travel which is challenging for a women with kids. Ultimately what matters is how determined are you to make it work. If you have the energy, the grit and the determination, I say you must go for it! Do something different and strive harder than the others and prove that women can really multitask.
Neha Jain 270002RWQD 1,446 Views
In this instalment, I will cover in detail about the Cloud Deployment Options available and also speak about the multitenancy models in the cloud.
Module 2 : Cloud Deployment Options
Infrastructure, Platform and Software are NOT the only things which can be delivered as a service. So this list is not exhaustive and probably you can get anything what you want as a service. Or so to say, you can get whatever the cloud provider provides you as a service.IaaS, PaaS and SaaS basically provide a separation of responsibilities in terms of what resources are managed by the providers and which of those are managed by the consumers.
On one extreme there are on-premise applications in which there is no cloud provider responsibility at all, whereas the other extreme is software-as-a-service where everything down from the hardware basics like networking, storage, servers and visualization to the applicatkions and data is managed by the cloud provider. IaaS and PaaS fall in between these two extremes.
With cloud computing comes the concept of mutitenancy. Tenants are users or applications which share the same resources and yet their data remains separate. This ensures security because even when the tenants use the same resources, their confidential data remains visible only to them.
There are several Mutitenancy models which have become popular with the emergence of Cloud Computing. The maturity varies from simply providing a virtualization layer over existing software to writing programs/software architected from scratch designed with cloud(scalability/elasticity) in mind.
Shared OS - In this model both the underlying hardware and OS are the same.
Shared Database - In this model the tenants share the same database. The applications architected for such a model should be carefully designed to avoid different tenants having the same table name.
Shared Table - This is the most mature model for tenancy. Requires careful planning and application has to be architected from scratch with concerns of elasticity and data separation in mind. In this model the underlying tables in the DB are also same, the data is carefully separated per tenant. We can say that this model supports full mutitenancy, it has more complex design but the most Effective Resource Usage and Scaling.
What are some of the services available to Cloud Consumers in IaaS, SaaS and PaaS ?
In this module, I have touched briefly upon the various Cloud deployment options. However there is a lot of information available on these topics. I hope this overview helps you to dig deeper into the area of your choice and also provides a high level picture for you to fit in the pieces of the Cloud Puzzle.
Keep Reading !!
Link to Part 1 - Part 1 - Introduction
Link to Part 3 - Part 3 - Enterprise Architecture and The Cloud
KritiKamra 270004QYED 1,390 Views
Welcome note by Kalpana Margabandhu
Director, WebSphere Adapters and AIM Development, India
IBM Application & Integration Middleware Division,
IBM India Software Lab, IBM Software Group
Welcome to developerette!
developerette is a unique space for women in technology.
Through this group, our endeavor is to focus on you, the women in technology, and involve you in various activities that not only help you advance your learning and careers, but also help you integrate your professional and personal lives.
There are several activities that you can expect on this group to enable and guide you to achieve your professional goals. Read the features on women just like us, who have overcome their barriers to build successful careers in technology. There are several articles that will guide you to make progress at work and home and stay healthy on busy days! Participate in the webinars that will cover technical topics as well as discussions on topics that are special to women. Let's have healthy dialogues, share and meet on a common platform!
I welcome all the women in the developer community, in technology and in any other technical field to join this group and be a part of an empowering and uplifting program like none other.
Click on http://ibm.co/developerette to join and don't forget to bring your friends!
As one of the core developer of DB2 Connect CLI team, I got an opportunity to work on supporting generic special registers feature. Idea behind this blog is to spread some of the benefits and usage to help application development community understand it better to leverage the same.
Though focus of this blog would remain CLI centric, similar concept exists in other client drivers like IBM DB2 .NET provider and IBM JDBC driver (aka JCC).
IBM Data Server Driver configuration file (by default named as db2dsdriver.cfg) is catching its popularity among the customers due to its capability of allowing different DSNs and database properties configuration in a central repository manner. In addition, being in XML format, it takes a less of an effort for any user to get used to such configuration files. In DB2 Connect V10.1 Fixpack 2, CLI added new capability to db2dsdriver.cfg by allowing users to set special registers generically.
Before I go deep into the feature explanation, let me begin with answering few basic questions:
What are special registers?
A special register is a storage area that is defined for an application process by the database manager. It is used to store information that can be referenced in SQL statements.
To know more about special registers with examples, refer to the following link:
What is the existing method of setting special registers from client applications?
There are set of special registers which can be set (or updateable) by the client applications. Application can modify such special registers programmatically using “SET” SQL statements. There are few special registers for which DB2 CLI provides connection level keywords. Application can set these keywords either via db2dsdriver.cfg or db2cli.ini configuration files.
Limitations using existing method of setting special registers:
Setting special registers programmatically expects modification of the application source code and recompile each time special register needs added/removed/modified. Also, this needs to be taken care in all impacted application programs.
Using special registers which can be set as CLI keywords can be a better approach than former, but with limited list of such keywords, applications do not get complete solution. CLI can be enhanced to support requested special registers as a keywords, however with data server introducing new special registers at each release, this remains an ongoing solution. This expects users to upgrade their client drivers to be able to get newer special register support as keyword.
What is the newer mechanism CLI provides to address above situation?
To overcome the drawbacks of both the above approaches, it was desired to have a more generic solution to be developed. As a result, CLI has introduced a unique section of special registers viz. <specialregisters> in the configuration file db2dsdriver.cfg. This section allows users to specify a list of special registers that they like to configure. Based on the need, <specialregisters> section can be added at a DSN level or a database level or even globally.
During each connection to a given DSN or a database, CLI reads through db2dsdriver.cfg and processes <specialregisters> section in the following manner:
- read each special register name and its value from <specialregisters> section of a given DSN or a database
- “without scanning/interpreting” form a chain of special registers to be sent to the connected data server.
- upon the first SQL of the connection, flow chained special registers to the server
- server will process each special registers of the chain (along with the 1st SQL of the connection) and set it appropriately at the server.
As we can see from the above logical flow, with this feature, CLI has no dependency to know the special registers to validate. It will simply flow the entries from <specialregisters> section to the server and let server do necessary validations. Another benefit we can see here is because flow of the special registers is chained together along with 1st SQL statement of the connection, network trips to set the special registers is saved significantly now.
When server upgrade occurs and user application likes to set newly supported special registers, with this new feature of CLI, all user needs to do is to add that special register in their <specialregisters> section! As we can see, no driver upgrade is needed here in order o use newer special registers.
Illustrating usage of <specialregisters>
Having given some background, I can now proceed with the working of this feature. Let’s begin with adding <specialregisters> section to existing / new db2dsdriver.cfg configuration file:.
Sample db2dsdriver.cfg file
Interpreting <specialregisters> section from above sample:
1. Special Registers applicable across all DSNs/databases ( residing under global <parameters> section)
CURRENT DEFAULT TRANSFORM GROUP = 'MYSTRUCT2'
CURRENT LOCALE LC_MESSAGES = 'en_CA'"
2. Special Registers applicable for DSN = sample
CURRENT SCHEMA = 'MYSCHEMA'
CURRENT DEGREE = 'ANY'
CURRENT DEFAULT TRANSFORM GROUP = 'MYSTRUCT2'
CURRENT LOCALE LC_MESSAGES = 'en_CA'"
3. Special Registers applicable for database = sample2
CURRENT SCHEMA = 'MYSCHEMA1'
CURRENT DEGREE = 'ANY'
CURRENT DEFAULT TRANSFORM GROUP = 'MYSTRUCT2'
CURRENT LOCALE LC_MESSAGES = 'en_CA'"
The above configured special registers for relevant DSNs/databases come into effect with the first SQL statement given post connection. It is at this point the special register settings are applied at the server.
In the above application logic, "INSERT" is the first SQL statement post connection. Along with this SQL statement, the effective special registers list (as listed in the db2dsdriver.cfg) is formed and these special registers get set at the server. In case any special register setting at server has resulted in any warning or an error, those will be chained to the result of 1st SQL’s response. Application can call SQLGetDiagRec() API to retrieve any warning or error details to diagnose the problem.
Where I cannot use this new feature?
To enable client info properties, it’s not recommended to use <specialregisters> section. Existing mechanism either via CLI keywords or environment/connection level attributes can be used instead.
If application logic desires to set special registers during the connection (not at initial phase of the connection), or if they like to change the special registers in between, then setting special registers programmatically is the only way. New feature is useful only as initial value of the special register for the connection.
In summary, as an application user, one can get below benefits with the new feature:
1. Savings in time and network utilization by reduction in network flows
Reduction in network round trips between client and servers since most optimal DRDA protocol is used while flowing special registers set information to the server.
Moreover by chaining set of special registers along with 1st SQL of the connection saves another network round trip by using piggyback mechanism.
2. Less maintenance and upgrade of the driver:
The new approach avoids necessity of driver level upgrade just to exploit any new server special register. All users need to do is add the new special register entry in the <specialregisters> section to the existing drivers’s db2dsdriver.cfg file (minimal driver level requirement is V10.1 Fixpack 2). Knowing many big organization having thousands of client drivers installed at each workstation, this saving brings lot of relief to them.
3. Centralized maintenance:
Using central configuration method for db2dsdriver.cfg, users can now have much controlled manner to add/remove/edit the special registers for their applications. Also, with flexibility of using <specialregisters> under DSN, database or global level, user can tune their need quite easily.
Here are some of the links that can be referred to :-
mentions details on Special Registers
mentions about the IBM data server driver configuration file structure
This section demonstrates how TAMOS can help you deal with two real-world issues faced by DB2 customers.
Some DB2 customers have reported experiencing an instance crash due to a
Assume that you have a DB2 instance named
Listing 6. List DB2 instance processes
Next, connect users to SAMPLE database, as shown in Listing 7.
Listing 7. Connect users to SAMPLE database
Listing 8 shows
Listing 9 is an example of the resulting entries in the db2diag.log file after the instance crash. These entries indicate that the instance crash occurred due to
Listing 9. Sample db2diag.log entries
Now you will see how TAMOS can help you prevent the scenario described above.
First, create an object for the
Listing 10. Create object
Next, as shown in Listing 11, create a policy that does not give DB2 instance user db2ins95 and root user permission to kill the process.
Listing 11. Create policy
Now the ACL is defined not to give DB2 instance user db2ins95 and root user the kill (that is, the "k") permission bit. The last step is to enforce the policy on the object, as shown in Listing 12.
Listing 12. Enforce the policy on the object
Listing 13. List DB2 instance processes
Now, as shown in Listing 14, when the db2ins95 or root user tries to kill the
Listing 14. kill -9 not permitted
TAMOS can also help you track who actually issued the kill command, which can lead to you identifying the real culprit. This tracking functionality is discussed later in the article.
DB2 support has also documented several problem reports where a customer has accidentally deleted tablespace containers while performing operating system maintenance activities. In some cases, this has resulted in the loss of a significant amount of data. This type of scenario also results in the tablespace becoming inaccessible. The example described in this section illustrates this type of scenario.
As in Case 1, for this example assume that you have a DB2 instance named
Listing 15. Connect users to SAMPLE database
As shown in Listing 16, create a tablespace with one container named
Listing 16. Create a tablespace
Create a table named
Listing 17. Create tables
Then, as shown in Listing 18, insert some sample data into the table.
Listing 18. Insert sample data
To simulate what would happen if the tablespace were accidentally deleted, issue an
Listing 19. Delete the tablespace container
Now, as shown in Listing 20, when users reconnect to the database and try to access the table, they receive an error.
Listing 20. Access attempt returns error
The tablespace has become inaccessible because its container was deleted, and all the data you inserted in the table is lost!
Now you will see how TAMOS can help you in the type of situation outlined above by preventing users from removing the containers, and thereby securing your system against potential data loss.
In this example, the container, which is simply a file resource on the operating system, is in the /test directory. As shown in Listing 21, create an object for /test/cont1 under the file resource.
Listing 21. Create an object
Next, create a policy to protect against users being able to remove this object, as shown in Listing 22.
Listing 22. Create a policy
Now, the ACL is defined to give the root user read, write, and execute permissions, but not the deletion (that is, the "d") permission bit. The last step is to enforce the policy on the object, as shown in Listing 23.
Listing 23. Enforce the policy on the object
Now, as shown in Listing 24, when the root user tries to remove the container, he is not allowed to do so. TAMOS has just prevented accidental data loss due to deletion of the container.
Listing 24. Container deletion not permitted
This section describes how you can use TAMOS to monitor or track operations performed against DB2 processes and resources.
For example, in the scenario described in Case 1 above, a
TAMOS provides three levels of auditing:
The following example illustrates resource level auditing. Assume that as described in Case 1, the policies shown in Listing 25 are in place for your system.
Listing 25. Case 1 policies
With the above policies, the ACL
Now, as shown in Listing 26, create a POP with a specification that all actions on the protected object will be audited. This tells TAMOS to track when a
Listing 26. Create a POP to audit all actions
Enforce the policy on the object by attaching the POP to the object, as shown in Listing 27.
Listing 27. Enforce the policy on the object
Listing 28. List DB2 instance processes
Now, as shown in Listing 29, a user attempts to kill the
Listing 30 is an example of the resulting entries in the audit.log file after the attempt to issue the
Listing 30. Snapshot from the audit.log
The above record shows that a
This article introduced you to the IBM Tivoli Access Manager for Operating Systems (TAMOS) solution. It provided an overview of how you can install and configure TAMOS, and showed how it can be used to protect DB2 processes and resources on UNIX and Linux operating systems. Once you understand the concepts of TAMOS, you will be in a better position to provide security to your system resources on top of that provided by the native operating system.