• Like
  • Save
Training Report
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Training Report

  • 1,591 views
Published

My internship training report.

My internship training report.

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,591
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. UNIVERSITY OF MORATUWA Faculty of EngineeringNon-GPA Module 399: Industrial Training TRAINING REPORT M. W. Edirisooriya 070115U Computer Science and Engineering Zone24x7 (Pvt) Ltd 6 Months 4th of August 2010
  • 2. PrefaceThe report includes the engineering experiences, professional best practices and both technicaland non technical knowledge and skill development gained by me during the industrial traininginternship program during Level 3 in second semester in company Zone24x7 (Pvt) Ltd.The document format follows the format provided by the university at the beginning of thetraining program.This report contains three main sections. First chapter contains it describes a summarizationabout the general information, organizational structure, performance, profitability, strengths andweaknesses of the company.In second chapter it consists of details about the internship experiences at the training location. Inthis section it describes details about projects I have involved, difficulties and problems I faced,management, financial and office practices that I have exposed etc.Third chapter consists of the conclusion of the report. This is a self measurement about thetraining experience and about industrial training program, references, abbreviations are in thissection. ii
  • 3. AcknowledgementI would like to express my sincere gratitude to all the parties who contributed me to success inthe industrial training program who helped me in various ways in technical, management and allsort of guidance given me to improve my professional and technical knowledge.First I would like to thank the parties who contributed and organized this program. So I wouldlike to thank all the staff members of the National Apprentice and Industrial Training Authority(NAITA) for organizing this program and accepting the Zone24x7 as a company who helped mea lot for gaining training experience. Then I would like to thank all the staff members ofIndustrial training division of University of Moratuwa including the Director, for organizing thisimportant program.I must give my special thank to Head of Department of Computer Science and EngineeringUniversity of Moratuwa, Ms. Vishaka Nanayakkara, then Dr. Malaka Walpola -Senior Lecturer,Dr. Shehan Perera-Lecturer, Mr. Shanaka Ransiri -Lecturer, Mr. Chulaka Gunasekara -Lecturerand who did all the coordination between students and the companies, also from the Departmentof Computer Science and Engineering, University of Moratuwa together with all the otherAcademic Staff members for their great effort of providing and coordinating IndustrialPlacements at suitable places and also for monitoring our internship experience throughout thetraining period in order to ensure that we gain the maximum out of it.I would like to extend my thanks to Mr. Ruwan Pradeepa the Technical Project Manager ofWater Demand Division System at Zone24x7, Mr. Lakmal Molligoda, Senior Software Engineerat Zone24x7, Mr. Priyal Walpita Senior Software Engineer at Zone24x7, Ms. Sonali JayasooriyaQA Software Engineer at Zone24x7, Ms. Kalani Tennakoon Software Engineer at Zone24x7Tech for instructing and guiding my Internship Program throughout the training period withoutany issue.I would also like to appreciate the great contribution provided by Mr Llavan Fernando, CEO andPresident of Zone24x7, Mr. Manjula Dissanayake, Vice President of Zone24x7, Ms Nenuka, HRManager of Zone24x7 at Zone24x7 - in the Management of on conducting an excellent TrainingProgram for all the interns. iii
  • 4. My special thanks go to all the others developers who helped me by spending their valuable timeand teaching me to resolve problems which I encountered while I was developing. Thesetechnical advices not only helped me to resolve my problems but also improved my technicalknowledge.At last but not least, I would like to thank all my fellow colleagues who have made myInternship Experience at Zone24x7 a pleasant & enjoyable one and for helping me to overcomethe challenges I faced during this period. iv
  • 5. ContentsPreface iiAcknowledgement iiiContents vList of Figures ixList of Tables ix1. Introduction to the Training Organization 1 1.1 About Zone24x7 1 1.1.1 Introduction 1 1.1.2 Top Research Areas of Zone24x7 1 1.1.1 Vision Mission 1 1.2 Organizational Structure 2 1.3 Products and Services 2 1.3.1 Retail 2 1.3.2 Embedded Systems 3 1.3.3 Payment Security & Biometrics 3 1.3.4 Banking and Finance 3 1.3.5 Healthcare 3 1.3.6 Water Conservation & Distribution System (The Project I involved) 3 1.3.7 Energy Conservation 4 1.4 Partners and Clients 4 1.5 Current Position of Zone24x7 5 1.5.1 Current Performance 5 1.5.2 Strengths and Weaknesses 5 1.5.3 Suggestions for Further Development 6 1.5.4 Possible Constraints to My Suggestions 6 1.5.5 Economy and Profitability 7 1.5.6 Usefulness to Sri Lankan Community 72. Training Experience 8 v
  • 6. 2.1 Company Related Experience 8 2.1.1 First Experiences 8 2.1.2 Daily Life in Zone24x7 8 2.1.3 Work Measurement System 9 2.1.4 Freedom in the Company 9 2.1.5 Entertaining Activities 9 2.1.6 Common Development Procedure 102.2 Overview to Work Done during the Industrial Training 11 2.2.1 Introduction 11 2.2.2 Project work overview and schedule 122.3 Experience with Tools and Technologies 13 2.3.1 Experience with Tools 13 2.3.1.1 ASP.NET 13 2.3.1.2 C# 13 2.3.1.3 Dot Net Framework 13 2.3.1.4 Internet Information Service 7 13 2.3.1.5 Microsoft Visual Studio 2005 development platform 14 2.3.1.6 Microsoft SQL Server Management Studio 2005 14 2.3.1.7 Adobe Flex 14 2.3.1.8 Internet Explorer Developer Tools 14 2.3.1.9 SqlAssistant 15 2.3.1.10 RegexBuddy 15 2.3.1.11 JQuery 15 2.3.2 Technology Exposure 15 2.3.2.1 ASP.NET Web design 15 1.1.1.1 User Interface Designing 16 1.1.1.2 Web application validation 17 1.1.1.3 Regular Expressions 18 1.1.1.4 Web Hosting in IIS7 18 1.1.1.5 Developing Flex Application 18 1.1.1.6 Web Service Handling 18 vi
  • 7. 1.1.1.7 Report Generation using Visual Studio 19 1.1.1.8 Creating SQL databases 19 1.1.1.9 SQL Database Querying 19 1.1.1.10 Online Debugging With Developer Tools 202.4 Project Involvement 20 2.4.1 School System, a sample project 20 2.4.1.1 Usage of Grid Views 21 2.4.1.2 Usage of Validations 22 2.4.2 E-mail sending component (Multiselect web control) 22 2.4.3 Inspections viewing and editing using PastInspections web control and PastInspectionsPopup 23 2.4.4 Chart Of Account report generator 23 2.4.5 Online Application 24 2.4.6 EventAPNChange, APN changing web control 24 2.4.7 WESControl, Water Efficiency Standard Control 25 2.4.8 WDSData, Well Distribution System 25 2.4.8.1 GUI Designing 26 2.4.8.2 Overall Logic of WDSData 27 2.4.8.3 Validation of WDSData 29 2.4.9 Adobe Flex application 29 2.4.10 WDD-CDV, County Data View for WDDS 30 2.4.10.1 Introduction to WDD-CDV 30 2.4.10.2 Form View control 31 2.4.10.3 New SQL Logic Used 31 2.4.10.4 Adding Role Permission 32 2.4.10.5 Debugging with Developer Tools 32 2.4.10.6 Validation in WDD-CDV 32 2.4.11 BottomModulePanel, Create New Modules in WDD-DBS 33 2.4.12 Client requested changes in WDD-DBS 332.5 Problems and Difficulties Encountered 33 2.4.1 Work Related Problems and Difficulties 33 vii
  • 8. 2.4.2 Training Personal Related Problems and Difficulties 34 2.4.3 Other Personal Difficulties 34 2.6 Solution Found 34 2.7 Company Practices Exposed 35 2.7.1 Information on Production Processes 35 2.7.2 Administrative and Office Practices 35 2.7.3 Financial Procedures 35 2.7.4 Safety Procedures 35 2.7.5 Management Practices 36 3.1.1 Operational Techniques 36 3.2 Machines and Equipments encountered 364. Conclusion 37 4.1 About Training Program 37 4.2 Technical Improvements 37 4.3 Soft Skill Improvements 38 4.4 Overall Conclusion 38References 39Abbreviations 40 viii
  • 9. List of FiguresFigure 1.1 Organizational Structure 2Figure 1.2 Zone24x7 Clients 4Figure 2.1 Insert a new student 20Figure 2.2 Invalid entry validation 22Figure 2.3 Mail sender 22Figure 2.4 PastInspectionsPopup 23Figure 2.5 One wizard step of Online Application 24Figure 2.6 APN change prompt 24Figure 2.7 Well Distribution System tab 25Figure 2.8 Other Information tab 26Figure 2.9 Adding a new Well System 26Figure 2.10 Foot Note tab 26Figure 2.11 CAW Central Division Data tab 26Figure 2.12 Editing Well System table 27Figure 2.13 Searching with Master ID 27Figure 2.14 When data related to WDS Edit is clicked 27Figure 2.15 When Water Production is clicked to be edited 28Figure 2.16 When WDS Letters are edited 28Figure 2.17 Letter generation 29Figure 2.18 Property Information of a selected APN number 30Figure 2.19 Editing Location data of a selected APN number 31Figure 2.20 Validation message when tried to save changes 32Figure 2.21 BottomModulePanel 33List of TablesTable 2.1 Development Summary 12 ix
  • 10. 1. Introduction to the Training Organization 1.1 About Zone24x7 1.1.1 IntroductionZone24x7 is a technological company that provides a variety of technological solutions in abroader range of hardware and software applications in electronics and software world. A Headquarter of Zone24x7 is located in San Jose, California.Zone24x7 has technology development and research centers located in United States, Sri Lankaand Malaysia. About one hundred of employees are employing in the company. The team inZone24x7 consists of engineers in both software and electronics fields expert in varioustechnologies. They are involved in activities that will enable them to employ solutions to meetgrowing business demands of customers and to develop the company by using the cutting edgetechnology.Most of its customers are not local but from United States. Zone24x7 research and developsolutions for their requirements with use of broad background of various technologies usinghardware and software solutions. 1.1.2 Top Research Areas of Zone24x7Zone24x7 is basically targeted on the following research areas. 1. Surface Computing – With touch sensitive computer screens 2. Computer Vision and Gesture Recognition 3. Bio Feedback – Fingerprint recognition etc. 4. Embedded Agent Technologies 1.1.1 Vision Mission“Global Research Locally” is the vision of the organization. Zone24x7’s mission is to providenext generation technology and innovation services to our clients. 1
  • 11. 1.2 Organizational StructureThis is the organizational structure of Zone24x7 according to my knowledge. There may be moresections that are related to QA and other laborers. But this is the structure I understood. President (CEO) Vice President Operational Manager Project Manager (TR) Project Manager (QAR) Project Manager (CMR) SSE (Leader) Software Engineer Associate Software EngineerFigure 1.1 Organizational Structure 1.3 Products and ServicesBecause there are many areas that the company has many expert areas on only the names ofdomain expert areas are mentioned below. 1.3.1 Retail  Hand-Held Application Suite for Store Operations – Easy electronic equipment for stores  Real Time Inventory System – Online solution for inventory requirements  Customer Loyalty Management Systems – Customer data management system  Cloud Computing and Mash-up Services – Cutting edge technology in web based software and networking 2
  • 12. 1.3.2 Embedded Systems Hardware Design – Designing hardware for embedded devices. Firmware and OS Porting – Designing lower level software (e.g.: Device Drives) SDK Development – Developing SDK for hardware and software requirements1.3.3 Payment Security & Biometrics Signature Capture and Verification Applications – Patented technology from Zone24x7 Finger Print Verification Applications – Bio matrix based application Computer Vision Based Applications – Image recognition technology Biofeedback Based Applications – Nerve pulses and brain waves based technology1.3.4 Banking and Finance Secure Cheque Clearance – User authentication system Image & Transaction Management Systems (ITMS) End–to-end Receipt Management and Dispute Resolution – Patented technology from Zone24x7 Banking Facility Management – Queue Management, Staff Scheduling, Management Reporting1.3.5 Healthcare Healthcare Suite for Operation Room Scheduling, Staffing, Inventory Management, Reporting Next generation Staff-less Office System Unique interactive capabilities for diagnosis1.3.6 Water Conservation & Distribution System (The Project I involved) Permit issuing and monitoring – Issuing permits from the software system Inspection scheduling – Online scheduling technology Dynamic report generation – Generate reports from database data Dynamic work flow creation for business rules – Workflow manager in the system 3
  • 13. 1.3.7 Energy Conservation  Monitoring and Alerts – Monitoring energy requirements and control the supply, alert on energy waste  Smart controlling – Embedded system based solutions for energy conservation 1.4 Partners and ClientsZone24x7 has more than 500 companies and technology leaders around the world as clients.Some of them are as follows.Figure 1.2 Zone24x7 ClientsFollowing are the technology partners of Zone24x7. Microsoft Gold Certified MSC Status Windows Embedded Partner Sun Microsystems Motorola ISV Partner Freescale (Motorola) 4
  • 14. 1.5 Current Position of Zone24x7 1.5.1 Current PerformanceAt present Zone24x7 has an identity of providing all types of business solution in both softwareand by using embedded systems. This is a very unique specialty in Zone24x7 when compared tosimilar software companies in Sri Lanka.The company provides the services based on the target of satisfaction of the client more than orequal to the expectation of the client. Zone team has the responsibility to be flexible accordinglywith the requirements of the customer. This is an advantage when it comes to interact withclients in United States. 1.5.2 Strengths and WeaknessesThe company hires the best people from the University of Moratuwa. As embedded systemsrelated job opportunities are rare in Sri Lankan job market there is a higher tendency inelectronic engineers pass out from UOM to join Zone24x7. This is the main strength I couldobserve as the strength of Zone24x7. As the intelligence of the engineers from UOM is above theaverage Zone24x7 has a valuable human resource. The other strength is its internationalrelationship. As most clients of Zone24x7 are from United States of America the income to thecompany and the exposure to the newest technology are very high for the company. And also thebusiness stability is very high as the economy in USA is very stable and there are lot ofcustomers can be found from the USA. This leads to prevent dependency upon little number ofclients which would reduce the stability of the company.There were few weaknesses I could observe existing in the company. Some employees thinktheir salary is not sufficient. This would reduce the staff satisfaction and would result poor outputfrom the staff. And also I could observe many engineers are leaving the company after theyobtain several years of experience in Zone24x7. This would reduce the number of experiencedengineers who has worked in many important projects. After they leave it becomes difficult totrack the project for the new engineers join the project. In the project I worked, I found very littleor no comments in source code. This makes very difficult for new people like me to understandthe structure of the structure and functionality of source code. 5
  • 15. 1.5.3 Suggestions for Further DevelopmentIt is very difficult to give suggestions for complex companies without doing a proper research inother similar companies. But according to my personal observations I can give the followingsuggestions for the benefit of the company.In software, the employees should be made to write codes with comments. Each function thatmay be important should be commented accordingly with sufficient words and it is better if eachproject could maintain a separate set of documents for the benefit of new comers to the projectabout the structure of the system and its operational functionality. This type of system mayuseful to identify the overall structure of the project without talking to a previous engineerinvolved in the project.And one of the other major problems I observed in my project is its architecture. Though it usedthe programming language C Sharp, the system very rarely used its object oriented properties.This has created an unusual amount of redundant code for similar functions without using theinheritance. When a change had to made all the locations it was applied had to be modified andfinally each location had to be tested separately. This is a very high disadvantage in terms ofresource allocation, time to code and accuracy. If a project use an object oriented programminglanguage like C# or Java it must be designed in an object oriented manner. 1.5.4 Possible Constraints to My SuggestionsWriting comments is one of the main hated practices for almost all programmers. They will bevery unhappy if the writing comments for all the code they write is stated as mandatory. Theywill try to copy and paste the same comment for many codes. Programmers will complain theywould not have enough time to complete the project due to comments.For software architects who had programming experience only with languages like C++ or C, itwill not be a good idea to suggest designing in the object oriented manner as they are not familiarand interested with OO concepts. The company may need to find good OO experts to designproject if they wish to programming languages like C# or Java.And also it will be a hard work to teach OO concepts to old programmers who were only fluentwith non OO languages. 6
  • 16. 1.5.5 Economy and ProfitabilityI was not given access to the internal accounts of the company. Therefore the information knowsare what the company says. According to them the company has a good income and couldachieve the business targets they expected to have. As the company interacts with the UnitedStates, past few days they also had to face some effects of the global economic crisis whichbadly affected mainly on United States economy. Anyway the company could maintain itseconomic growth without a critical problem.Recently the company could obtain some valuable recognition from technology giants in worldwhich helped them a lot for marketing purposes as well as technical support. 1.5.6 Usefulness to Sri Lankan CommunityBecause Zone24x7 has most of its market outside Sri Lanka, the technical advantages affectedon Sri Lankan community is negligible. Anyway their technological researches are valuable forthe country. Zone24x7 has a research centre inside the University of Moratuwa which makes ahigh contribution to the Sri Lankan technology given to local university students.However this company contributes a lot to the Sri Lankan economy by taking in a lot of foreignexchange. And the company provides a number of job opportunities to Sri Lankans inside thecountry and in abroad. This helps to reduce the unemployment in the country and to avoid thebrain drain from the country which indirectly helps the technological development of thecountry. 7
  • 17. 2. Training Experience 2.1 Company Related Experience 2.1.1 First ExperiencesFirst day I in Zone24x7 we recognized our fellow colleges including the interns from Universityof Moratuwa. Only I was from the CSE of UOM who was selected there. Others are fromENTC. In my floor there is none of our people. That may be because of the differences of ourengineering disciplines. On the first day I felt so lonely. But from second day it was better. Thecompany provided me a powerful desktop computer with CRT monitor. Then they were kind tomy request of a LCD monitor and gave a 21 inch one. They installed software in my computerincluding Skype and Microsoft Outlook which were new for me. Not only them but all theMicrosoft related developing tools new for me.Next they organized a small presentation for all of us from University of Moratuwa by theHuman Resource Manager of Zone24x7. There they introduced their products, career in thecompany, international connections and their strengths and specializations in the technologyfield.In the first week they organized another meeting with presentations that described the procedurein Zone24x7 which is said as unique to Zone24x7 known as “Zone Way”. The presenterexplained the standards that are maintained by the company to maintain international standardsthat is very important for the marketing purposes. 2.1.2 Daily Life in Zone24x7As Associate Software Engineers we should present in the company on 8.30 a.m. in morning.We get biscuits two times a day and tea two times a day. We get our lunch at about 12.30 p.m.Normally we are allowed to leave the company at 5.30 p.m.We are required to wear a formal (professional) dress in first four days of week. On Friday it canbe changed. 8
  • 18. 2.1.3 Work Measurement SystemThere is an online system that tracks the number of hours spend for each module of developmentby each employee in each day which is called “XPlanner”. At the end of the month data collectedfrom this system is used to charge customer for the development of software.Each employee should enter the work he has done in relevant module with the number of hourshe spent on during each day. I used my daily diary as the source to update this data at the end ofthe month. 2.1.4 Freedom in the CompanyThere are no hard restrictions for the employees in Zone24x7. Absence can be appealed by theproject manager. The time to come to the company can vary from 8.30 to about one hour withoutany problem. If more than one hour late was happened, it should be informed to the projectmanager.Entrance and exit times are automatically monitored by a card with a radio tag provided to eachemployee. So there is no requirement to sign a present sheet. 2.1.5 Entertaining ActivitiesThere is a welfare society named “ClubZone” that organizes entertaining activities. In specialoccasions like birthdays, weddings and farewells etc cards are sent for sign around the companyand give the person at the relevant day. Working table of the employee is decorated in thebirthday and the birthday song is sung.At each month a party called “Birthday Bash” is held by the expense of the employees who hadbirthdays in that month. And parties are organized for specials festivals like New Year festival.At each year night parties are organized by the ClubZone.ClubZone maintains a DVD library that lends movie DVDs for Rs.30. There may be more eventsorganize by ClubZone than I have mentioned. 9
  • 19. 2.1.6 Common Development ProcedureAccording to ZoneWay there are common steps that I have identified as the practicing procedurein Zone24x7. 1. Requirements are gathered from the customer. 2. Prepare SRS document. 3. Prepare design document by development team. 4. Prepare test cases by the QA team. 5. Send test cases to the development team for review. 6. Development team adds drops and modifies test cases and sends review report back to QA while creating the design document. 7. QA team correct test cases and send back to development team for review. 8. If the development team agrees with those test cases they send confirmation. 9. Otherwise this recursively happen until both parties come to a compromise. 10. Finally confirmed test cases are taken as Round 0 test cases. 11. After creating the design document, development team starts to develop the system. 12. After the design process the developer has to test Round 0 testing by him as a unit test. 13. After this test unit test responsible person sends back the confirmed Round 0 test UTS to QA mentioning if there are any changes to be done in test cases. 14. QA consider the changes mentioned by the development person and do the Round 0 test and if there are any bugs existing, QA prepare the Round 1 test case and send back to the development team. 15. This process continues until QA find no error in software. 16. After the system is completely tested a customer release is issued.In this process there exists freedom to the developer to identify new requirements during thedevelopment process and change unsuitable requirements mentioned in the SRS document.These changes can be negotiated with the QA team first and if required can talk to the customerto clarify his requirements.Because the first unit testing part is done according to the QA requirements, it reduces the timethe QA spend to identify errors as the developer know the test cases prior to the development. 10
  • 20. 2.2 Overview to Work Done during the Industrial Training 2.2.1 IntroductionDuring my whole training period I was only involved in a single project, Water DemandDivision System, a water resource allocation and charging database based system for a state inUnited States of America. Anyway this system consists of many technologies includingfollowing major technologies mainly products of Microsoft. 1. ASP.NET 2. C# 3. .NET Framework 4. IIS 7 5. Microsoft Visual Studio 2005 development platform 6. Microsoft SQL Server Management Studio 2005 7. Adobe Flex 8. Internet Explorer Developer Tools 9. JQuery 10. JavaScriptThis project was already started before I joined the company. Therefore it was a slower processof understanding the system and its architecture. As I was not familiar with all the abovementioned technologies I was given a simple prototype project of a database system for a schoolto identify the structure and all basic standards related to the main system. For about three to fourweeks I was involved with this project and then I was joined to the real Water Demand DivisionSystem.During the pilot project I learned the coding standards expected by the company. I got specialsoftware “SoftTree SQL Assistant” that helped a lot to generate SQL code in appropriate codingstandard.In WDDDBS project I used to learn “TortoiseSVN” the version management system that isuseful to add changes from various locations by various programmers. Until the end of training Ihad many practices to learn with this tool. 11
  • 21. 2.2.2 Project work overview and scheduleIn first few weeks I was learning the technology and developing the pilot system for a school.Then I joined the WDDDBS, the main project. In the last month the development of WDD-DBSwas announced finished and then another project “Water Demand Division County Data View”(WDD-CDV) was started which was a new version for the older system that uses the webservices of the older system. In the WDD-DBS system I was involved in several components andmajor part of the training was spent on the WDD-DBS system.The Table 21 shows the time period I was involved in each component of the project. Some timeperiods coincides as some components were started before others were ended or testing wasperformed after another component was started to develop.Table 2.1 Development Summary Component Developed Started Completed Date Date 1 School System, a sample project 10/02/2010 03/03/2010 2 E-mail sending component (Multiselect web control) 02/03/2010 08/03/2010 3 Inspections viewing and editing using PastInspections web 09/03/2010 17/03/2010 control and PastInspectionsPopup 4 Chart Of Account report generator 17/03/2010 19/03/2010 5 Online Application 19/03/2010 07/04/2010 6 EventAPNChange, APN changing web control 07/04/2010 08/04/2010 7 WESControl, Water Efficiency Standard Control 08/04/2010 18/04/2010 8 WDSData, Well Distribution System 22/04/2010 03/06/2010 9 Adobe Flex application 0705/2010 03/06/2010 10 WDD-CDV, County Data View for WDDS 04/06/2010 23/07/2010 11 BottomModulePanel, Create New Modules in WDD-DBS 23/06/2010 29/06/2010 12 Client requested changes in WDD-DBS 08/07/2010 21/07/2010 12
  • 22. 2.3 Experience with Tools and Technologies 2.3.1 Experience with Tools 2.3.1.1 ASP.NETASP.NET is a web development framework which is a product of Microsoft and is used todevelop Dynamic web pages, web applications as well as web services. It uses C#.NET orVB.NET adds its dynamic behavior. ASP.NET comes with standard .NET bundle. In our WaterDemand Division System we used ASP.NET 3.5 version as it contains new features to supportsome other features like Ajax. 2.3.1.2 C#C sharp is a Java like object oriented programming language based on Microsoft dot netframework. All logic behind ASP.NET web pages is written using C# language. C# is a productof Microsoft. In our application ASP.NET pages uses functionality provided by the DynamicLink Library files in the lower layer, (Library Layer) which executes the SQL Stored Proceduresin the data base. 2.3.1.3 Dot Net Framework.NET Framework is a product of Microsoft which is a service providing layer providing runtimefiles to C# and ASP.NET programs. It is a Virtual Machine for Windows application andcontains libraries that support GUI design, database access and cryptography etc. We used .NETFramework version 3.5 which is bundled in default with Windows 7 operating system. 2.3.1.4 Internet Information Service 7Internet Information Service (IIS) is web server software comes with Windows 7 as optionalpackages. ASP.NET developed web sites can be hosted in IIS in local host after installing IIS inthe local machine. Web site can be even debugged in ASP.NET code while the site is in itsruntime. 13
  • 23. 2.3.1.5 Microsoft Visual Studio 2005 development platformThis is the basic development platform for Microsoft products including ASP.NET and C# thatwe used in our project. It is a designing and compiling package of these programming languages.Visual Studio 2010 was available on that time but due to compatibility issues we used 2005version for development of this old versioned system. 2.3.1.6 Microsoft SQL Server Management Studio 2005Microsoft SQL Server is a relational database management system developed by Microsoft and ituses ANSI SQL as its main query language. There are many versions of SQL Server and we usedMS SQL Server 2005. It stores data as databases in the DBMS. SQL commands are saved in asStored Procedures as SQL files that are used by the above layer files (Library Layer) of oursystem. 2.3.1.7 Adobe FlexAdobe Flex is a rich web application development technology by Adobe. Web page likeinterfaces with beautiful user interfaces can be generated easily with almost all databasefunctionalities that can be included in ASP.NET web page. The component is developed indeveloper environment, Flex Builder and produces a “swf” file as the executable version. In FlexBuilder there are facilities like debugging are available like in Visual Studio Developmentenvironment. 2.3.1.8 Internet Explorer Developer ToolsDeveloper Tools is another optional package comes with Internet Explorer for Windows 7operating system. This is used to debug JavaScript and CSS properties in a loaded web page tothe Internet Explorer web browser. This is similar to “FireBug” add on available for MozillaFirefox in behavior and functionality. This is useful for identifying bugs in JavaScript as inVisual Studio there is no proper way to debug JavaScript in runtime. And this is very useful foridentifying UI errors in a web page in different resolutions. 14
  • 24. 2.3.1.9 SqlAssistantSqlAssistant is an extension to Microsoft SQL management Studio developer that automaticallygenerates SQL code and automatically prompts a list of words while typing to ease the process ofSQL code writing. According to the coding standers SQL key words should be capital andaliases should be used for statements like select statements. This extension helps a lot to generatesuch code. 2.3.1.10 RegexBuddyRegexBuddy is a simple but very useful tool for developing regular expressions for variousapplications. Using this software we can get the meaning of a regular expression in words andcan be used to generate new regular expressions. And also this tool can be used to test regularexpressions against the text to be searched or to be validated. 2.3.1.11 JQueryJQuery is an open source powerful JavaScript library that is useful for developing complexwidely used JavaScript function based web sites in lesser time. In our project it is used in laterstage and was used for validation purposes that give user friendly tooltips for invalid data enteredto a control object. (e.g.: Text Field) And also JQuery supports to create visually rich userinterfaces such as confirmation boxes with the help of CSS. 2.3.2 Technology Exposure 2.3.2.1 ASP.NET Web designAlmost all the time I spent during my training program is with web design using ASP.NET. Thisis a modified programming language of ASP. It has a similar programming design to theprogramming language JSP. In ASP.NET there are three files related to a single web page. Oneis the .aspx file which is the HTML like file full of tags. It contains both server side and clientside web controls used in the web page. The second file is the .aspx.cs file that is a C# class fullof C sharp code that contains all the server side logic related to the web page. All the events thatare to be handled in server and page load events are coded in this file. If required the attributes in 15
  • 25. the components of .aspx file can be changed using C# logic. The third file of the web page is the.design.cs file that contains all the components logically mentioned in the .aspx file.In my programming experience I got a good knowledge on data binding, accessing, editing,adding, removing and paging operations on Grid View web control and Form View web control.And further I gathered knowledge on data binding to inner components of Grid View such asDropdown Lists. And also I learned about CSS application usage in Grid View and Form Viewcontrols.In our application we worked on an application with several logical layers. The top layer is theactual ASP.NET based web layer. All the pages are inherited from a single web page, “BasePage” that handled all user information, privileges, session state and all the commonly neededfunctions that are commonly used in all web pages.For the reusable purposes the application used ASP.NET web controls. A web controls is an.ascx file that can be independently developed can be used in web pages which provides a certainfunctionality common for many web pages.In our project sometimes we needed to show only certain parts of a web page. In such situationswe used several different techniques according to the requirement, complexity and performance. 1. Used a div section and changed its visibility. Sometimes we u 2. Used a panel and changed its visibility. 3. In some cases we used TR of a HTML table to hide and display appropriately. There we assigned IDs for each table row and changed its visibility accordingly.All the configuration information such as IP addresses and such changeable information areincluded in a configuration file and can be changed by the user accordingly. 1.1.1.1 User Interface DesigningI designed some user interfaces for the web application in ASP.NET. It was not a major designbut I could learn a lot on HTML tables, div sections, panels etc. I could learn CSS from thisdesign and could understand the application techniques of Style sheets to web controls in theform of a class and the direct assignments. 16
  • 26. The requirements design was given me in the form of a Visio document which is known as“Wireframe”. At first I tried to blindly get the all values from the wireframe and make the UIdesign but then I found that they are not visible properly when developed according to the givenspecification and started to assign appropriate values as required. Then I was instructed that onlythe font sizes and font styles should be according to the specification and the rest can and shouldbe changed as required. I included some CSS properties into the imported CSS file and usedthem throughout the design process which was very easy and fast when developing. 1.1.1.2 Web application validationIn the earlier stage when I was involved in the WDD-DBS system, the validation conventionused was changes when it came to WDD-CDV which was based on jQuery.In the earlier version it was a star mark next to the text field or drop down list. Mandatory fieldshad a red colored star mark next to the input field (text field/dropdown list). So we had tomanually include them in a single HTML table which was a time wasting process when it comesto a web page with a lot of input fields. And also all the required fields to be validated hadanother hidden red star next to the input field. In the .aspx file required type of validator (e.g.:Required Field Validator, Regular Expression Validator, Custom Valiadator etc.) was assigned toeach input control. All the validators in a single form (or single submit section) were given asingle validation group. Under the form (or single submit section) it was a validation summarydedicated for the particular validation group. When the submit button is pressed the validity ofthe validation group is checked and submit process is done only if the validation is correct.Otherwise the validation errors are displayed in the validation summary under the form and redstar marks are displayed next to the input field (text field/dropdown list). Whole process is donein server side so the response time was a problem.In the new application we used only jQuery totally in client side. So there was no servervalidation was required. The process is easy and adding a validation can easily be done by justchanging the validation statement at the class attribute of the input field. The validation can bedone in both onblur event of a text field or at the submit button click event. The error messagewill be popped up as tooltip at the input field. In the WDD-CDV application we could reduce theresponse time by using such techniques. 17
  • 27. 1.1.1.3 Regular ExpressionsRegular expressions are very useful and powerful tools when it comes to text processing. In oursystems we used regular expressions mainly for validating e-mail addresses, dates, APN numbersand Zip codes. It was also useful for extracting the first APN number from OCRed text in WDD-CDV application. 1.1.1.4 Web Hosting in IIS7All the web sites developed using the language ASP.NET was hosted in IIS7 web server. Welearnt IP assigning site naming and database allocation to web site using IIS7. For test purposeswe hosted it in the local machine and the debugging was possible in Visual Studio developmentenvironment in the run time after attaching the process for debugging. Not only for ASP.NETpages but for Adobe Flex pages we could debug using Flex Builder with the help of IIS webserver. Even multiple web sites were possible to host in a single web server. 1.1.1.5 Developing Flex Application“Flex Builder” was the development environment for Flex applications. In Adobe Flex abeautiful UI can be developed with all the validation facilities in an easy way as readymadecomponents are available for the UI designing. And also similar to the ASP.NET we can developtables like Grid Views in ASP.NET and handle data similar to the way they are handled inASP.NET application. Unlike in ASP.NET there is no need to design CSS or use other functionsto handle web services or to implement animations, in Adobe Flex we can easily call existingweb services and perform insert, edit and delete operations to a database via the web serviceswith a UI containing default animations. 1.1.1.6 Web Service HandlingWeb service is a well known service layer that provides database services to the web applicationlayer in our system. Under the web service layer it is the library layer that executes SQLcommands on the data base and perform operations like insert records to the database, edit recordin the database and delete records in the database. All the data are sent to the database side inmany data types and data from the database comes as Dataset objects. Web service layercommunicate with web layer using XML objects. 18
  • 28. 1.1.1.7 Report Generation using Visual StudioReport generation is a basic need for almost all commercial software systems. Microsoft visualstudio provides a very useful report generator design tool. Using these tools it is easy to get areport from the database by executing stored procedures and displaying the results in tables andtext fields. The report is generated according to the “Report Parameters” entered by the user.Then the user can print the report if required. 1.1.1.8 Creating SQL databasesDuring the development of new database tables and from “School System” application I couldgather knowledge on the database design according to the Relational Schema provided. There Icould learn the use of foreign keys, primary keys and data types used to create databases.According to the requirements of the client when deleting a record from a database table, insteadof permanently removing its content from the database, a special Boolean attribute, “IsArchived”is set to true. When inserting, insert date and time is recorded in another attribute. When therecord is modified, old record is archived and a new record is added to the database with newvalues with new modified date into the attribute, “Modified Date”. 1.1.1.9 SQL Database QueryingIn systems I developed in the company, all the SQL queries and commands are all saved inseparate .sql files and all of them are written such that once executes a new stored procedure withthe same name of the stored procedure is included into the MS SQL DBMS if it is a new name.Otherwise the new execution will overwrite the existing stored procedure. And also a shortdescription, the author and the created date is included in the head of the .sql file.Stored procedures are written for either write or read operation of the database. When more thanone database table is accessed join operations are used. All the data retrieving SPs send data inalias names from the database. All the data saving SPs has a Boolean parameter “IsDelete” thatis true in value only when the record is deleted. Otherwise (i.e.: When modifying existingrecord) it has value false. (In SQL true and false values are denoted by 1 and 0) And also whensaving records a special attribute “UserID” is set from the value of the user’s ID value from thesession state in web application. 19
  • 29. Considering the whole transaction there is a mechanism to preserve the consistency of thetransaction. And if the SP is too complex to implement, temporary tables are used for storingintermediate output values while processing. Sometimes cursor keyword is used to implementiterative operations during a single SQL operation execution.Knowledge on SQL is a very important type of knowledge I could obtain from the trainingexperience I followed. 1.1.1.10 Online Debugging With Developer ToolsDebugging capability of a web page from the client side is a very important experience as ithelps to solve many problems that can never identified by examining or debugging only theASP.NET web page. And also this is very important to identify and error tracking the UIproblems caused by CSS errors. This technology also helps to identify values in each attribute asa snapshot and helps a lot to track bugs. 2.4 Project InvolvementFrom here onwards the work I did on the project WDD-DBS and its newer version, WDD-CDVare mentioned. The order of these sub topics are according to the order of timeline I worked onthem. 2.4.1 School System, a sample projectAt the beginning of the training I was aware with any knowledge on almost all technologies Ihave mentioned earlier. Therefore my senior engineers have decided to give me a pilot project tomake me familiar with the tools and technologies that are going to be used on WDD-DBSproject. Figure 2.1 Insert a new student In the database system there were three relationship sets namely “Student”, “Class” and “Subject”. Each relationship set was 20
  • 30. given unique ID’s as primary key for the efficiency purposes. Each was accessed using twostored procedures for the use of querying and storing information from and to the database.Stored procedures were written in SQL. These stored procedures are accessed by the functionswritten in the Library layer of the system which is a collection of C# classes.As the system is web based the next higher layer is the web service layer which uses the dll filesof the library layer and provide web services to the web server where the web site is hosted. Theweb service layer is written in C#.Web server uses the web services from the web service layer and provides services to the user atthe client side. Here the web site is developed using ASP.NET. Web site contains three mainpages, home page, add classes and page that enables adding, updating, deleting students from thedatabase and search students from name and class.Webpage view is improved by using a user friendly “Master Page” and “Link Buttons” aredisplayed in the left side of the Master Page which links to each “Content Page”. In the ContentPage AJAX based script “Update Panel” which only updates the table with Grid View whenrefreshed which reduces overhead of updating whole web page.Maximum number of records appears at each time in the Grid View is limited by “Page Binding”which avoids very large tables appearing in the web page. 2.4.1.1 Usage of Grid Views“Grid view” is used as the table that views data as table. “Footer Template” enables adding anew student to the database. Except class name other fields contains text boxes in the FooterTemplate. As the class name is a selection from the given set of classes it appears as a“Dropdown List”. In the body of the Grid View data is appeared in labels located in the “ItemTemplate”. “Edit Item Template” is used to edit data of an already existing student. In Edit ItemTemplate, Dropdown List is used as the entering control for the Class Name and Text Box as theentering control for the other fields. Column of “Command Field” used to change each record toedit mode and column of “Link Button” used to delete each entry. 21
  • 31. 2.4.1.2 Usage of Validations “Required Field Validator” and “Range Validator” are validations used in the server side to avoid entering invalid inputs as inputs to the database. When invalid data are entered to an input control a star mark is displayed in front of relevant fieldFigure 2.2 Invalid entry validation and a description of invalidity is displayed for each control in thevalidation summary as mentioned earlier. 2.4.2 E-mail sending component (Multiselect web control) My first task in WDD-DBS project was to modify and fix bugs in an online e-mail sending ASP.NET control that is used by the staff of the authority. In that application I added names of the recipients in front of their e-mail address using the stored procedures of the data of recipients in the MSFigure 2.3 Mail sender SQL 2005 database. And also I added functionality ofmanually adding custom e-mail addresses as recipients using JavaScript and ASP.NET. I had tocorrect some logical errors behind the “OK” button which sends e-mails and had to correctlogical errors that occur when it changes between two states of selection of recipients andsending e-mails which used the same “OK” button. 22
  • 32. 2.4.3 Inspections viewing and editing using PastInspections web control and PastInspectionsPopup Then I worked on an ASP.NET control called “PastInspections” that displays many types of inspections done by the authority in several Grid Views that enables to view only two records in each Grid View and facilitates to navigate independent from eachFigure 2.4 PastInspectionsPopup other. For navigation two buttons “Previous”and “Next” are used. This was developed using an existing code used in the system. Then I hadto implement that control into appropriate modules. Using that control I created a popup control,“PastInspectionsPopup” that pops in a semi transparent black background disabling all otherparts of the web page. That had a close button to close the popup window. 2.4.4 Chart Of Account report generatorThen I designed a stored procedure for a report generator, “Chart Of Account” in MS SQL tooutput some details (e.g. Description of transaction, Reference number, Amount etc.) related to amoney transaction, either an invoice or a receipt. I referred the ER diagram of the database tablestructure and obtained the output from a temporary table which was added records to thetemporary table in two steps (for invoices and receipts) each using the inner join operation. Thefilter parameters are the required bounds of dates of transaction and some other details. 23
  • 33. 2.4.5 Online Application I did some maintenance work with the ASP.NET control that contains most of the wizard steps of the online application form filling at the customer end and updating them at the staff end. Some steps contain Grid Views and some of them are “dev” sections of theFigure 2.5 One wizard step of Online Application control. They are displayed sequentially after each step isvalidated. (E.g.: Required Field Validation, Regular Expression Validation etc.) Differentvalidation logics are used for different input types such as single Grid View, multiple Grid Viewand “dev” sections. When it comes to multiple Grid Views, they should be validatedindependently as well as simultaneously when “Next” button is clicked. Because there were twomodes of operation each mode has to be developed separately. And special attention was paid forcustomer side application than the staff mode application which would be used by trained staffofficials. 2.4.6 EventAPNChange, APN changing web control I developed an ASP.NET web control “EventAPNChange” which is used to change the APN number that uniquely identifies a property. A “Modal Popup Extender” was used to request the APN number to be inserted and it was validated by reusing the existing validators. It was developedFigure 2.6 APN change prompt from the web service layer of the system.This web control was used in modules like Permits, Rebates, Conservation and WUC. This wasdeveloped for fulfilling the customer’s requirement for changing the APN number of a recordwithout re-entering all the data in tables of the modules mentioned above. 24
  • 34. 2.4.7 WESControl, Water Efficiency Standard ControlNext I developed a web control “WESControl” which has two modes View mode and Edit modethat is used to tick the approved standards of fixtures inspected by an inspector. Here the set ofstandards are taken from a separate table, “WaterEfficiencyStandards” and should be saved asrecords to the table, “ModuleWaterEfficiencyStandards”. When data are taken from the databaseat first it takes the right outer join of the above 2 tables and after once saved, every time a recordis modified, older record is not removed from the database but one of the table’s attribute,“IsArchieved” is set to true. Valid record is that attribute value of false. In the edit mode thelabels are set hide and data are displayed in text boxes that enables editing and check boxes ofapprove are enable to change. In the View mode data loading process is similar but labels are setvisible instead of text boxes and check boxes are disabled. When the data are saved all the tableswith data are saved at once by uniquely identified attributes, “ModuleId” and “RefId”. Thiscontrol uses separate codes for both get data and save data from stored procedure layer. 2.4.8 WDSData, Well Distribution System This was the next item I had to add to the WDD- DBS system which was the longest and most complete set of work I got during my training program. I got a very good knowledge on the existing system and also a lot of knowledge on all types of controls andFigure 2.7 Well Distribution System tab logics I learned during my training program. Istarted the design from the scratch from a wireframe document I was provided on the system.The very first job was to design the GUI of web application. 25
  • 35. 2.4.8.1 GUI Designing Figure 2.8 Other Information tabFigure 2.11 CAW Central Division Data tabFigure 2.10 Foot Note tab Then I was given to design GUIs according to a specification given as a Visio document. Font styles were assigned using CSS style sheets andFigure 2.9 Adding a new Well System specific designparameter changes were done to each UI control according to the specification. There is a kind offreedom to select appropriate distances from each control but font sizes and styles had to beaccording to the specifications. The GUI was originally designed in tab panels but after someunrecognized error was aroused I was asked to develop in a new web page without tab panels. 26
  • 36. 2.4.8.2 Overall Logic of WDSData First display part of the system is used to insert and edit “Well Systems” and “Wells”. According to the specification every well used to fetchFigure 2.12 Editing Well System tablewater is charged according to theamount of water used. A set of wellsare grouped to a “Well System” anda well system is uniquely identifiedby a “Master ID”. The designconsists of two HTML table rowsthat are displayed only one at a timeand there are two table rows insidethe second table row that will visible Figure 2.13 Searching with Master ID only when the water production is to be edited. The first row is loaded when the page loaded and it displays a Grid View table of all the well systems. It also facilitates to search by “Master Id” or to filter records by parameters, “Report Method” and “Source Area”. This table contains logic get and save logics from stored procedure level, insert, edit delete well systems and to validate entered data beforeFigure 2.14 When data related to WDS Edit is clicked saved in the database. More than previously 27
  • 37. done Grid Views this has a label at the top of the table indicating the number of records and if the table is empty only the header is showed and a message is displayed saying there are not data records. The first TR inside the second TR is showed when the icon related to edit data of the well system is clicked. It contains a Grid View that shows the water production of the well system for each year and an “Add New” button. That table also has the facility of editing andFigure 2.15 When Water Production is clicked to be editeddeleting records related to each year.When the edit is clicked the secondTR in the current TR is displayed.But if the Add New button is clickedwe can insert a new year that doesnot already exist in the table. If theentered year already exists anotherpop up is showed asking for editingthe data of existing year. Second TRof second TR accepts data into textfields and store into the database.When there are existing data, they Figure 2.16 When WDS Letters are editedare loaded to text fields from thedatabase. There is a text field and a button called “Next WDS Master Id” that is automaticallyloaded from the Well Systems Grid View and can go to the next WDS Master Id to save data. 28
  • 38. 2.4.8.3 Validation of WDSDataValidation was a very important when it comes to usability and is highly considered in QualityAssurance. For the “Well Distribution System” tab panel the validation was used as usual but forother tab panels I had lack in time. So I included “OnClick” and “OnBlur” functions of textfields to some client side JavaScript functions to easily do the validation of number only and thecorrect decimal format. Maximum length was also useful to easily include maximum length of atext field. 2.4.9 Adobe Flex application One of the important technologies I used to send letters in this application was Adobe Flex. Adobe Flex coding style is similar to JavaScript but it had many advanced functionalities like communicating with web services directly, declaring Grid View like beautiful tables and other user interface design similar to ASP.NET.Figure 2.17 Letter generation Because its complexity of the flex code I downloaded and installed thedebugger supplied by Adobe to debug Flex applications. It was very useful to correct errors andto correct them.When data are bound to Data Grids or Drop Downs in Flex we had to use an Array Collectiondata object type. So I had to get Array List type data instead of Data Set type. For that Iintroduced a new transfer object type object in library layer and had to assign each attribute ineach data row in the Data Table to appropriate attributes of the Transfer Object.My task was to add a new Data Grid for Well Systems to the interface by binding data from theweb service. First I implemented the event correctly and set the data bind functionalities from theweb service layer. Then I had to include a letter sending mechanism and letter printingmechanism with the help of an earlier code. It was written in WDD-DBS application in C#. 29
  • 39. 2.4.10 WDD-CDV, County Data View for WDDS 2.4.10.1 Introduction to WDD-CDVThe project WDDDBS wasannounced as completed andanother project that continues thefunctionality of the project wasstarted named WDD-CDV.Icontributed to design the systemand prepare design document forthe system. Initially it was decidedto use Visual Studio 2010 to Figure 2.18 Property Information of a selected APN numberprogram and implement from the library layer but due to limitations of time and other constraintsit was decided to continue with Visual Studio 2005 and use the web services that are alreadyimplemented in WDDDBS for the web applications in WDDCDV. Anyway the new project hassome modifications in user interface by using new CSS standards and new validation techniques.In new project “workflow manager” is not used. In earlier project it was a red astrict mark nextto each text field or dropdown list and there was a validation summary that indicates theValidation error. This was validated at the server so it took time to correct the error at the user’spoint of view. In new system every validation is done at the client side and validated most ofthem on “OnBlur” event of text fields. New system uses “jQuery” JavaScript libraries and thevalidation error is displayed as a red tooltip at the relevant control. These also ease theprogrammer’s work to develop the system.I wrote almost all stored procedures to the required system initially. After the login to the systemthe user can search the property by using the APN number or by other parameters like ownername and address data of property. The results are displayed in a grid view and the user cansearch the property and all the data related to the property such as Location data, Owner data andRecordation data are displayed to the user. This also uses an online map system to show thelocation of the property in the system. In previous system these functions were not available.And also the system facilitates to modify the displayed data as Form View control is used todisplay the data. 30
  • 40. 2.4.10.2 Form View controlFigure 2.19 Editing Location data of a selected APN numberFunctions of Form View control is close to the functions of Grid View control. More than theGrid View Form View has Insert Item Template to insert new records to the form view. Paging,editing, cancel editing and updating functions are similar to that were in Grid View. In thissystem data fields of Form View are bound to the record fields of the data table. And in thespecial case of “Owner Type” the records are left joined with the Owner Type to bind dropdownlist “Owner Type”. 2.4.10.3 New SQL Logic UsedThere was a new technique I had to use when inserting and editing data in database tables like“CountyProperty” that had more fields than the number of fields inserted or edited at a time bythe system. There I checked the condition of inserting and then I placed the given data to the SPinto relevant fields and filled remaining fields with null values or default values. When theedit/modify condition is found the existing record is copied to a new record by substituting givenfields of data to the SP. Then the original record is deleted. Not only that I had to modify twoother tables “CountyOwners” and “OwnerAddress” when I change the table “CountyProperty”because they are interrelated. In such cases each table is considered separately and their primarykeys are captured and used for foreign keys as other tables. This system gained me a lot ofknowledge regarding the user interface design and SQL language. Here I learned the specialiteration technique “Cursor” in SQL that was used to copy all records related to Property Data insingle SQL execution when a modification is done to a Property. 31
  • 41. 2.4.10.4 Adding Role PermissionAfter that I got the opportunity to learn about the system permission level handling. In theWDDDBS system there is a sub system in module, “Utilities” to add, edit and delete rolepermissions. Each role can assign privileges of each section of permissions of the system. Finallywe can add, edit and delete users to a created Role Permission. In the web page in theapplication, buttons like Edit, Add New and Delete are enabled from the Page Load from serverside only if the permissions are valid to the user in the current session. I assigned permissionsand tested them in WDD-CDV system for buttons such as mentioned above. 2.4.10.5 Debugging with Developer ToolsI learned and worked with Internet Explorer Developer Tools to identify CSS bugs existed in theCalendar Extender that was very important to debug a web page in its online stage. Developertools can be used to identify the CSS inherited and overridden by each CSS script and can testwhile changing its values. I could identify the UI problem was due to an inheritance from higherCSS and could correct it. One problem was regarding the style of the “Calendar Extender” in“AjaxToolkit” and the other was on the transparency issue on another div section. I couldsuccessfully fix these bugs with the help of IE Developer Tools. 2.4.10.6 Validation in WDD-CDVIn the new system the validation mechanism was changed and replaced with a JQuery validation.The new validation pops up a tooltip showing the error message at the input field. The validationprocess is fast as the validation occurs in the client side. This validation can also be implementedon the “OnBlur” event of a text field.Figure 2.20 Validation message when tried to save changes 32
  • 42. 2.4.11 BottomModulePanel, Create New Modules in WDD-DBSFigure 2.21 BottomModulePanelI involved with some work to invoke modules like “Permits” in the WDD-DBS system byautomatically login to the old system by using URLs that are included in the PropertyData.aspxpage in WDD-CDV system. There we used a method of adding the JavaScript codes to the clientside from the page load of server side. The login in WDD-DBS was modified and set to start anew session without a password. Then according to the value in redirected URL, a new moduleis created. (e.g.: New Permit)Then I worked with a new controller, “BottomModulePanel”, which was a new web controlcontaining the above mentioned login and starting new module functionality. 2.4.12 Client requested changes in WDD-DBSI got to add functionalities to WDD-DBS system which were client’s requests. Added restrictionsto “Add New” button when redirected by a module, added control “EventAPNChange” (changeAPN number of an existing record in the Grid View.) to modules WUP and WUC and added“Water Released Date” to reports. In last modification I clear my knowledge on Reportgeneration and data binding to reports using stored procedures and some other informationregarding Microsoft report generation designing. 2.5 Problems and Difficulties Encountered 2.4.1 Work Related Problems and DifficultiesThe first problem I faced was the unfamiliar technology. I was never worked with technologieslike ASP.NET and Flex. I was not that much familiar with the new tools and developerenvironments such as Visual Studio. I had to work in a pilot project, “School System” only tolearn the technologies they used for WDD-DBS. However when I started to work in Adobe Flexin the WDD-DBS project, I had never used that technology before. 33
  • 43. The other major difficulty was to understand the existing system of WDD-DBS. Initially I had toblindly do only whatever my senior said me to do. It took a long time to familiarize me to thesystem.I was not familiar with the subversion system the company used which aroused many updatingcommitting problems with the subversion system. And also Skype and Outlook e-mail client wasnot familiar with me. Anyhow I could overcome these difficulties rapidly. 2.4.2 Training Personal Related Problems and DifficultiesI had no any considerable problem with my training personal. All the senior staff membersincluding the project manager were kind and friendly. They even did not pressure me tocomplete quickly by remembering deadlines and did not ask me to work after hours.Anyway there were very small problems like not giving sufficient information to solve theproblem. I had to continuously ask questions sometimes to understand the problem to be solved.And also they did not give me a proper knowledge about technology needed and instead askedme to search me in the Internet. However I think it is good for me to learn to learn by self. 2.4.3 Other Personal DifficultiesThe temperature was too low due to the air conditioner and I felt so uncomfortable during myfirst few days. And also I felt lonely after I started to work with unknown set of people. Therewere no major personal difficulties I had to face during my internship. 2.6 Solution FoundThe problems I mentioned earlier are not major problems I had to think so much on solutions.Most problems became natural with time and I could manage self studying using the Internet.Sometimes I could change the air conditioner temperature using the remote control and no majorproblem encountered during my training period. 34
  • 44. 2.7 Company Practices Exposed 2.7.1 Information on Production ProcessesAll the software development process and its life cycle are described in a set of instructionsknown as ZoneWay. It is an internal document and prepared to maintain the CMM 3 standards.And all the other day to day office work are according to 5S specifications. 2.7.2 Administrative and Office PracticesEmployers should come to work at 8.30 a.m. in morning. But the time is not very strict and thenumber of working hours may vary depending on the project he involved in. All the entrancedoors access card to be opened and all the data regarding to them are stored in a database whichmay be used to calculate the number of working hours. Leave should be applied from the projectmanager. And the employers should wear a formal dress suitable for their profession andexception is allowed in all Fridays. 2.7.3 Financial ProceduresEmployees enter time they spent on the each project in each day in an online system calledXPlanner. At end of each month the project manager send these data to the client and the client ischarged according to the time spent on each software component.Employers are paid on 25th of each month. Salaries are automatically sent to the bank accountprovided by the employer previously. Then a salary pay sheet can be obtained from theaccountant after the money is deposited in the account. 2.7.4 Safety ProceduresEvery computer in the company has a dedicated UPS to prevent losing data and to prevent harmcaused by lightning. And there is a fire extinguishing system connecting each floor of thecompany as a precaution to a sudden fire.However because there are no dangerous hardware located inside the company almost there is noneed for safety procedures. 35
  • 45. 2.7.5 Management PracticesThe company has a very flat management hierarchy. All engineers, project managers and toplevel management talk each other with their first names. Management practices are only visiblein formal project processing.Each project has three mangers as follows to maintain its consistency well. 1. Technical Responsibility (TR) 2. Quality Assurance Responsibility (QAR) 3. Configuration Management Responsibility (CMR) 3.1.1 Operational TechniquesThe software development process consists of few phases such as design, development,deployment, testing and etc. In each time of development we issue a release note to QA and itwill test and procedure continues. Requirements gathering and making the SRS document are theinitial stages done by visiting the client and contacting via video conferencing. 3.2 Machines and Equipments encounteredFrom the beginning I got a full feature desktop computer with following configurations.  Processor – Intel® Core™2 Duo E7400 @ 2.80 GHz  Installed memory (RAM) – 4.00 GB (3.24 GB usable)  VGA – Inbuilt  HDD capacity – 160 GB  Operating system – Windows7 32-Bit 36
  • 46. 4. Conclusion 4.1 About Training ProgramI could complete my training period in Zone24x7 as an intern successfully. I would like to thankall the people who contributed this program to make this one a success story. I could obtain bothtechnical and non technical skills in a professional environment among experiencedprofessionals. I could gather knowledge on basically database handling and web developmentassociated with such database system in the technical stream. And in soft skill perspective I gotknowledge on inter communication, team work and professional responsible behavior required ina professional organization. 4.2 Technical ImprovementsI was involved in a project called “Water Demand Division System” which is a database basedweb system with many technologies like ASP.NET, Ajax, jQuery, SQL and Adobe Flex. I got afirm knowledge and an experience on these technologies and tools. And also I could be familiarwith subversion management system TotoiseSVN, interacting with Skype, mailing with MSOutlook and updating work done in a system called XPlanner. I could also get some knowledgeon the life cycle of a software system, Quality Assurance process, iterative development andtesting processes which are very important technical practices when it comes to professionalism.When I joined the company the above subjects (database systems and web application) were veryunusual for me and I was expecting the knowledge even before I joined the company. I was veryhappy to fulfill my expectations from my internship. These subjects need a more practicalexperience than a theoretical knowledge which I got enough from the training program.Another important thing I learnt was the skill that needed to find the appropriate technical detailsin a lesser time and correctly using search engines. The details I am looking are there in theinternet in almost all cases which is an important point I understood.I also gathered knowledge on report writing, technical writing, time allocation and managementthat are subordinate knowledge required for professionalism. I learned that without thisknowledge regarding common sense it is impossible to be a good engineer. 37
  • 47. 4.3 Soft Skill ImprovementsIn today commercial world soft skills are very important. I could a good experience of soft skillswhen I was working in Zone24x7. Communication was very important when involved in a groupproject. Team members should have a good understanding with their fellow members that isbasic requirement for synergy.Team spirit is another soft skill I learned from the internship. Large systems must need a largenumber of programmers, QA engineers and all other work together to achieve the common goal.This created the work division among the team members and I understood the contribution thatshould be given behalf of an individual for benefit of the whole team.I observed the leadership given by our project manager to maintain the stability of the process ofdevelopment even among the constraints like resources and time was challenging him. Friendlyleadership motivated the team to go on without an extra stress. 4.4 Overall ConclusionAfter a considerable period of time I looked back into my training program. It was not asstressful as I expected before I started the training program. It may depend on the level ofemergency of the project. Fortunately it helped me a lot to improve my level of knowledge whilemaintaining my mind in a comparatively low stress condition. The training organization was nearto my permanent residence which made me comfortable to stay at work until late afternoon.Anyway the knowledge I gathered was not that much broad in the sense of technology. I think itwould have been better if I could involve in some other projects related to some other theoriesand technologies such as intelligent systems, embedded systems and computer vision. When Iselected this company for section of interviews I expected that sort of experience as well.However according to my knowledge I need a long term exposure to theories and technologies toget a proper understanding. So it was good for me to understand the subjects, database systemand web systems with a lot of experience to realize the technology other than working with manytechnologies and not getting the insight of any technology. 38
  • 48. References 1. Training Handbook 2. Entries of Daily Diary 3. Monthly Reports of training 4. ZoneWay, internal resource of Zone24x7 5. Online web tutorials : http://www.w3schools.com 6. Development resources site : http://www.codeproject.com 7. Wikipedia : http://en.wikipedia.org 8. Official ASP.NET web site : http://www.asp.net 9. The official Microsoft developer web site : www.msdn.com 39
  • 49. AbbreviationsAJAX - Asynchronous JavaScript and XMLANSI - American National Standards InstituteAPN – Assessors Parcel NumberCEO – Chief Executive OfficerCMM – Capability Maturity ModelCMR – Configuration Management ResponsibilityCRT – Cathode Ray TubeCSE – Computer Science and EngineeringCSS – Cascading Style SheetsDBMS – Database Management SystemDVD – Digital Versatile DiscENTC – Electronic and TelecommunicationGB – Giga ByteGUI – Graphical User InterfaceHDD – Hard Disk DriveHR – Human ResourceHTML – Hyper Text Marking LanguageID – IdentityIDE – Integrated Development EnvironmentIE – Internet ExplorerIIS – Internet Information ServiceIP – Internet ProtocolJS – JavaScriptJSP – Java Server PagesLCD – Liquid Crystal DisplayNAITA - National Apprentice and Industrial Training AuthorityMS – MicrosoftMSDN - Microsoft Developer NetworkOCR – Optical Character Recognition 40
  • 50. OO – Object OrientedPR – Project ResponsibilityQA – Quality AssuranceQAR – Quality Assurance ResponsibilityRAM – Random Access MemoryRegEx – Regular ExpressionSOAP – Simple Object Access ProtocolSP – Stored ProcedureSQL - Structured Query LanguageSRS – System Requirement SpecificationSSE – Senior Software EngineerTR – Table Row, Technical ResponsibilityUI – User InterfaceUML – Unified Modeling LanguageUOM – University of MoratuwaUPS – Uninterrupted Power SupplyURI – Uniform Resource IdentifierUSA – United States of AmericaUTS – Unit Test SpecificationVB – Visual BasicVGA – Video Graphics ArrayWDD-DBS – Water Demand Division - Database SystemWDD-CDV – Water Demand Division - County Data ViewWUC – Water Use CreditWUP – Water Use PermitXML – Extensible Markup Language 41