Hiii frnds abt me ...
here it goes ... Leo but rarely it matches me... here is one such thing....
Shindhur & Java WebServices in a nutshell (Too Easy for Web Developers to understand, but others its good to know WebServices as a whole)
------------------------------------------------------------------------------------------
A 2yr old Java developer, though liked the profession but not javamaniac.. ;) reguarly working on some projects, writing code & every thing but still something more intresting can be done... work on a better thing, look for a good project and deliver the code, release de project asap. one day gone thru a project & got ready to deliver the project immendiately but i saw there are no requirements, dont know the requirements of the project, what to deliver and how to work...
den felt no first i shud know the project, its requirements, its design, technology behind its code, hw to set schedule for the project , then do some testing and finally once u feel everything is working fine the project shud be delivered and it shud meet the requirements nd it shud be a sucessful go for the release. And for all this there are only 4 months time ... :( and i shud be the only developer who has to get the requirements , understand it, design for the project, start the code, complete the code on schedule and test it completely and have to deliver it .. only one developer, a lifetime project, and only 4 months.. :(
But i think once in a while this happens for LEO i guess way bk 4 months, not sure y but was given a project on Web Services. I donno anything abt it... just a project on Web Services to be delivered in 4months .. i.e start from october and deliver it by feb. Only i thing i know WebServices the best in the industry and a project for lifetime :)
Sounds perfect. Decided this is the project i should work for. Then started the pain, started turning the books, started from begining, wat webservices is ?? In simple terms WebServices is a web based application that can be accessed over a network like our internet. There will be client and server that will communicate over the HTTP/S used on web. Examples like online shopping and the carting procedure is a simple secure webservice transactions, online banking etc, The client will invoke the server with a request and the server will process the request and send back the response(like request for balance in account). Thats it.... From book references i thought its quite simple and stepped into the project.
Oct---> Understood the project requirements clearly. Started with the design. During design understood how the client should prepare a proper request and how it should send the request and send it to the server so that a sucessful response can be returned. But at the sametime understood there will be scenario's where there will be other kind of responses from server like Failure response and exceptions like Server down, firewall issues where request wont reach the server itself and finally all these kind of exceptions has to be handled well in the clientside.
A Draft design was made then finally coding started that took nearly 4 weeks where no proper sleep, no food, no home nothing, come to office sit back and open the lappy see the code and continue the coding, dont miss any reqirements, maintain a version or a backup of everyday's wrk so that for next day it will not be difficult, understand as much as u can. So busy but still was completely amazing, the more am learning and dng the more am enjoying and the more it is turning interesting. take care of everything, all scenario's shud be handled.
Only one developer & was getting tougher and tougher day by day. Things are new, tried to take help from friends ,those who know the requirements and technology well but were not thatmuch helpful anytime.. Finally decided, i stepped into it and watever it is i have to do it .... so the spirit neva came down though it was the toughest struggle ever......
During coding got to know many things about the server, where the server is hosted, the webaddress (URL) to invoke the server what the wsdl is saying (wsdl is description abt the service hosted by the server), how and where the service is registered, wat kinda requests the server will accept, any environment issues,what limitations server is having, hw can i try some sample requests to the server, if any firewall issue which may block the requests. Finally after a lonely struggle of 1 month understood 70% of server. And already am exhausted. Day and night the only thought is make the release a sucess. The client should send the request shud get a sucessful response which is the complete project. The most important thing i came to know is this service will not be hosted for a longer time. May be this service wil be hosted for another 2 or 3 more releases and later the service will be undeployed.
Finally the coding is all over.The code has been reviewed by some good developers, and found the code is having no bugs and perfectly ready for release but dono hw many health issues i have suffered all dese days and hw much pressure i alone took al dese days... Now starts the testing. I shud have a simulator for testing before the code will be released. (Simulator is a virtual server code that the client itself writes to test its code and check if the request is reaching and getting response from server or not) Nearly 5 days it took to write a perfect simulator.
And the coding phase is over and the simulator is ready and time is getting closer. Should start the testing asap atleast with the simulator, so that i can be confident enough that the client request is reaching perfectly and the coding is also perfect. And one fine day during testing i think in feb where the release date is getting closer, could not stop testing the code with simulator, so nervous , thinking evryday i shud test it but again at the end of day stopping fearing, if the request is not proper or if the server will respond with FAIL response or any exception may happen stopping the client from sending the request to the server.
And Finally the day has come and the project has to be delivered and what ever may happen,from the screen i mean the jsp/html (like the login button in webpages) i have clicked on the login (submit) button and was searching in the backend if the request reached and guess what after a span of 2 hrs the client code found that the request reached the server perfectly and more than that the client got an acknowledgement saying the request reached and the response will be sent in an estimated run time (the time in which the server will respond). By seeing the acknowledgement was soooo happy, there was no limit to happiness, the code is perfect and i think the code has met the requirements. My first ever code of this standard is working halfway fine.
Now the most important thing for which i have taken all the struggle all dese months. Forgot everything thinking only abt office and this project. The response should come from the server and that should b a SUCCESS response and there should not be any exception and there even if it is any exception that i have already handled in my code and wat ever will be the response it should reach the client. The code is perfect. All the scenario's are hanled pretty well...
And u know what this is wat makes me differentiated from LEO's :( all the code, all the hard work, all the struggle,all the testing, all the interest behind learing webservies, all my expectations on my code were very simply thwarted with a simple and a single FAIL response from the server code and to my madness still the project was sucessful go for the release, Even now am not sure where exaclty the problem is in the client code and why the client recieved a TEST FAILED from the server in response ..... already 2 weeks passed post release but still its a biggg question....
But slowly after so much depression, so much agony, code lost in itself , i understood why the project is SUCESS why the Feb Release is sucessful, client might have got a FAIL response from server for this circuit but FAIL response is also a part of proper response from Server only and moreover it is a valid response only. May be the Server had some lmitations behind sending SUCESS response to the client but still the code is perfect and the Server responded correctly and moreover the transaction is perfectly working the hence the release is perfect.
Though good release made me happy coz am atleast out of that mental strain that i had not deployed the code, but y the client got FAIL response is still a braindrain and more than that my code, my understanding of requirements, eveything i did for this project in a fraction of seconds went in vain.... all this devotion, all dis physical, psycological strain for this project simply made me blank... Will i get this project back, will i get the reason behind this , is there any chance to go back 4 months and start the things again afresh???? All these nagging questions are showing the hell out of it but still one thing is today am different from what am few months back. Today an additional skill has been added to my profile. Today i know what webservices is .....
This was the project behind my learning, my enthusiasm, my passion towards that technology, behind today, and finally behind this note that started weeks before 4months...
Though in future i may get a better project again on WEBSERVICES to work, but still i have loved this project morethan than anyother project and am missing this morethan anything tilldate and there wont be a better than this kind again.
Shindhur :)
Shindhur... your style of writing is really good. simple with good flow.
ReplyDeleteI liked it.
And i hope the guys who search for "Webservices in a nutshell" should never reach here :)
"and i shud be the only developer who has to get the requirements , understand it, design for the project, start the code, complete the code on schedule and test it completely and have to deliver it .. only one developer, a lifetime project, and only 4 months.. :("
Do you expect more than one developer for this project? :)
Thnx a lot for ur comments... definitely a layman can hardly get anything abt webservices.. :)
ReplyDeletebut if someone reaches also understanding depends on the extent to which one can visualize, imagine and think....
and more than that not only me, in these kinda projects there can neva be more dan one developer.