You are on page 1of 24

SI

Submitted in the partial fulfillment of Bachelor Of Engineering


in Computer Science & Engineering at PANJAB UNIVERSITY, CHANDIGARH
Submitted by : Disha Virk BE CSE SG8312
Under the guidance of : Mr. Gurmeek Singh CTO Welco Infotech Pvt. Ltd. 2. Mr. Kanwalpreet Singh Malhi Assistant Professor (PU, Chd.) (Training Incharge) 1. Mr. Naveen Dogra Assistant Professor (PU, Chd.)

Swami Sarvanand Giri Panjab University Regional Centre, Hoshiarpur

ACKNOWLEDGEMENT
Words often fail to express ones inner feelings of gratitude to his benefactors and m entors with a dis pense of indebtedness, I thank all s enior software developers on my floor who have enriched me with their experience and helped at different time during the entire cours e of training. I wish to express my deep s ense of gratitude to m y Industrial training mento r, Mr. Gumeek Singh (Pro ject Lead, Welco Infotech Pvt. Ltd.) for his able guidance and useful suggestions who , inspite of his busy schedule in the organization was always there for providing assistance and helping me to overcome m y queries. I take immens e pleasure in thanking Mr. Naveen Dogra and Mr. Kanwalpreet Singh Malhi for having permitted me to undergo training at SDG. In particular, I hereby thank my guides and reporting officers. I feel, without this consistency in efforts and explaining the method ologies in such a lucid manner, it would never have been enhance my technical skills . Challenging assignments and Indus try exposure I got equipped me with techniques with which I can complete any task, starting from scratch. Finally, yet importantly, I would like to express my heartfelt thanks to my beloved parents for their blessings, my friends/clas smates for their help and wishes for the successful completion of this training.

INDEX

1. 2. 3. 4. 4.1

About Welco Infotech Introduction to Work Assigned Work Progress in Detail Techn ical skills acquired till date

3 4-5 6 7-19 7-8 9 10 11-12 12-13 13-14 14-15 15 16 17-19

Java Servlets Java Servlet Pages (JSP) Ajax Javascript jQuery MySQL Workbench GlassFish Server jExcel API Adobe Dreamweaver NetBeans

4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0

5. 6.

Future S cope Conclusion

20-21 22

ABOUT WELCO INFOTECH


Welco Infotech is a pioneer and leader in providing end-to-end solutions and telecom services to Call Centers and BPO's. We provide integrated data and telecom solutions for the Business Process industry with a full range of products and services delivered over Private Leased Circuits or the Internet. Welcos strengths lie in enabling new technologies for delivering high quality and cost effective long distance telecommunications for the industry. Efficient data and voice telecom services are mission critical for the Business Process and Call Centre industry and we are the pioneers. Good domain knowledge, process know-how and proficiency with technological solutions to cater to the difficult and urgent requirements of a wide variety of customers around the world make us the leader in the Telecom services industry in India. Welco Infotech also has the flexibility to contain the changing demands of our clients. Our hi tech telecom services will surely suit your requirements weather it is a one-time need or an ongoing project. Welco Infotech has been constantly investing in inventive technologies and experienced manpower to give you the benefit of high quality Telecom Services.

Our Clientele Our aim is to develop and maintain better, strong, long lasting client relationships through our state of art technical services. We also attempt to attract more and more latent clients so as to benefit both parties. we have successfully provided high quality and cost effective voice services to a wide range of customers irrespective of their size, status, service segment, or location. We believe in, and put into action the idea of ensuring customer satisfaction. Our clientele base that benefits from our VoIP services consists a wide selection of industries and it range from experts to retailers, and manufacturers to service providers.

Advantages of Services Availing the benefits of our telecom services can make a lot of variation in the performance values of your business, whether small or big. Quality telecom helps you to boost the tempo of your business activities in a swift pace, save time, save money and gives you many other viable advantages.

INTRODUCTION TO WORK ASSIGNED


Telecom Billing Management System is a Java technology based enterprise application software designed to support the telecommunications billing processes. Telecommunications billing is a significant component of any commercial communications service provider regardless specialization: telephone, mobile wireless communication, VoIP companies, mobile virtual network operators, internet service providers, transit traffic companies, cable and satellite TV companies could not operate without billing, because it creates an economic value of their business

Main Telecommunications Billing Functions :Billing functions can be grouped to three areas : Operations

Operations area includes functions of capturing usage records (depending on the industry it can be call detail records, charging data records, network traffic measurement data), rating consumption (determining factors, significant for further calculation, for example, calculating total time of calls for each tariff zones, count of short messages, traffic summary in gigabytes), applying prices, tariffs, discounts, taxes and compiling charges for each customer account, rendering bills, managing bill delivery, applying adjustments, maintaining of customer account. Information Management

Information management area unites functions that are responsible to support customer information, product and service data, pricing models, including their possible combinations, as well as billing configuration data, such as billing cycles schedules. Customer information often integrated with customer relationship management system (CRMS); collaboration with customer can be a function of information management area of billing system or can be completely allocated in CRM. Financial management

Financial management area covers functions of payment tracking and processing, mapping correspondence between payments and consumed services, managing credits and debt collections, calculating company taxes.

Technologies required to implement the product as a web-based platform : J2EE JSP, Servlets

Client Side Technologies - HTML, JavaScript, Ajax, jQuery Database - MySQL

Following are the tasks performed as part of the work assigned : Initially, thoroughly understood the functioning and working of the Telecom Billing Sector what it is all about, the fundamental processes involved in it, shortcomings encountered during the course of billing etc. The entire course of project-making can be broadly classified into a sequence of successive steps, which are as follows :1) Requirements : Had to interact with the staff of the companys Billing Dept. regarding their daily job routine including CDR generation, importing rate files etc., the essential functionalities they expect from the application software, common issues encountered by them during the process etc. 2) Planning : Amalgamated all the raw facts and data collected during the Requirements phase, tried to conjoin them altogether to generate a basic overview of the expected application software. Chalked out a concrete yet flexible layout of the application to be held as a prototype in the subsequent stages of development. 3) Development : This involves all the coding that was done in Java using SQL queries as well. 4) Testing : Once the project was duly completed from the Programmers point of purview, it had undergone a testing session, where the staff of the companys Billing Dept. actually performed a demo-implementation of the application software in their functional section. All loopholes witnessed during this were noted down to be removed henceforth. 5) Implementation : Once the final testing was performed and the application software was proven adept for usage, it was handed over to the Billing Dept. for single-handed utilization. 6) Maintenance : Had to fix up the bugs or provide intermediary solutions for trivial as well as, major issues that cropped up from time to time by the Billing Dept.s staff while deploying and using the application.

WORK PROGRESS IN DETAIL


During the initial two months of my training, as mentioned in the previous section, I was primarily indulged in understanding the nook and cranny of the Telecom Billing arena. Apparently, the technical terminology related to this field seemed to be pretty unfamiliar since, a lot many of these terms arent used by us in our day-to-day lives. I had to spend more time in the companys Billing Dept. than the Software Dept. in order to, keep in sync with the processes followed by the staff over there, while generating their customary CDRs, importing rate files, updating rates on a constant basis, taking each and every precaution to avoid errors while computations since, this could lead a hefty loss not only to the customer and the vendor but also to my company. Furthermore, I had to simultaneously sharpen my concepts in Java (incisively, J2EE) with utmost clarity and precision. I had to review almost all the topics previously studied by me related to it and browse the Internet to explore the best approach to be followed towards my imminent project. The next step was creating the User-Interface, which had to be simple yet chic at the same time, fulfilling all my requisites and most importantly, had to be user-friendly deprived of all the complexities. This involved making JSPs to be used in the application software. Concurrently, their corresponding servlets had to be developed to procure the connectivity between the dynamic JSPs and the database (here, MySQL). My project is a partial implementation of the MVC design pattern i.e. the Model-View-Controller design pattern on which the new technological frameworks like Apache Struts, Spring Frameworks are based upon. The main aim of the MVC architecture is to separate the business logic and application data from the presentation data to the user. Here are the reasons why we use the MVC design pattern : They are reusable : When problems recurs, there is no need to invent a new solution, we just have to follow the pattern and adapt it as necessary. They are expressive : By using the MVC design pattern our application becomes more interactive.

Shall briefly throw light upon these terms, here as follows : Model : The model object knows about all the data that need to be displayed. It is aware of all the operations that can be applied to transform that object. The model represents enterprise data and the business rules that govern access to and updates of this data. It is not aware about the presentation data and how that data will be displayed to the browser. View : The view represents the presentation of the application. The view object refers to the model. It uses the query methods of the model to obtain the contents and renders it. The view is not dependent on the application logic. It remains same if there is any modification in the business

logic. In other words, it is the responsibility of the of the view to maintain the consistency in its presentation when the model changes. Controller : Whenever the user sends a request for something then it always go through the controller. The controller is responsible for intercepting the requests from view and passes it to the model for the appropriate action. After the action has been taken on the data, the controller is responsible for directing the appropriate view to the user. In GUIs, the views and the controllers often work very closely together.

The vital functionalities of my project have been successfully implemented. Presently, Im working on the interactivity of my project- how itll coordinate with the client. This involves implementing client-side technologies like Javascript, Ajax and jQuery. In a week and a half, perhaps, this work will be completed.

TECHNICAL SKILLS REQUIRED TILL DATE


JAVA SERVLETS
A servlet is a Java programming language class used to extend the capabilities of servers that host applications access via a request-response programming model. Although servlets can respond to any type of request, they are commonly used to extend the applications hosted by Web servers. Thus, it can be thought of as a Java Applet that runs on a server instead of a browser.

Introduction
A Servlet is a java based server side web technology, it serves a client request and receives a response from the server. A Servlet is a Java class in Java EE that conforms to the Java Servlet API, a protocol by which a Java class may respond to requests. They are not tied to a specific clientserver protocol, but are most often used with the HTTP protocol. Thus, a software developer may use a servlet to add dynamic content to a Web server using the Java platform. The generated content is commonly HTML, but may be other data such as XML. Servlets are the Java counterpart to non-Java dynamic Web content technologies such as CGI and ASP.NET. Servlets can maintain state in session variables across many server transactions by using HTTP cookies, or URL rewriting. To deploy and run a Servlet, a Web container must be used. A Web container (also known as a Servlet container) is essentially the component of a Web server that interacts with the servlets. The Web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights. The servlet API, contained in the Java package hierarchy javax.servlet, defines the expected interactions of the Web container and a servlet. A Servlet is an object that receives a request and generates a response based on that request. The basic servlet package defines Java objects to represent servlet requests and responses, as well as objects to reflect the servlet's configuration parameters and execution environment. The package javax.servlet.http defines HTTP-specific subclasses of the generic servlet elements, including

session management objects that track multiple requests and responses between the Web server and a client. Servlets may be packaged in a WAR file as a Web application. Servlets can be generated automatically from JavaServer Pages (JSP) by the JavaServer Pages compiler. The difference between Servlets and JSP is that Servlets typically embed HTML inside Java code, while JSPs embed Java code in HTML. While the direct usage of Servlets to generate HTML has become rare, the higher level MVC web framework in Java EE (JSF) still explicitly uses the Servlet technology for the low level request/response handling via the FacesServlet. A servlet is a Java component that can be plugged into a Java-enabled web server to provide custom services. These services can include : 1) 2) 3) 4) 5) New features Runtime changes to content Runtime changes to presentation New standard protocols (such as FTP) New custom protocols

Usage

Servlets are most often used to :-

process or store data that was submitted from an HTML form provide dynamic content such as the results of a database query manage state information that does not exist in the stateless HTTP protocol, such as filling the articles into the shopping cart of the appropriate customer.

JAVA SERVER PAGES (JSP)


Java Server Pages or JSP is Sun's solution for developing dynamic web sites. JSP provide excellent server side scripting support for creating database driven web applications. JSP enable the developers to directly insert java code into JSP file, this makes the development process very simple and its maintenance also becomes very easy. JSP pages are efficient, it loads into the web servers memory on receiving the request very first time and the subsequent calls are served within a very short period of time. In today's environment most web sites servers dynamic pages based on user request. Database is very convenient way to store the data of users and other things. JDBC provide excellent database connectivity in heterogeneous database environment. Using JSP and JDBC, its very easy to develop database driven web application. Java is known for its characteristic of "write once, run anywhere". JSP pages are platform independent. Your port your .jsp pages to any platform.

Overview

Architecturally, JSP may be viewed as a high-level abstraction of Java servlets. JSPs are translated into servlets at runtime; each JSP's servlet is cached and re-used until the original JSP is modified. JSP allows Java code and certain pre-defined actions to be interleaved with static web markup content, with the resulting page being compiled and executed on the server to deliver a document. The compiled pages (and any dependent Java libraries) use Java byte-code rather than a native software format. Like any other Java program, they must be executed within a Java virtual machine (JVM) that integrates with the server's host operating system to provide an abstract platform-neutral environment. JSP pages are usually used to deliver HTML and XML documents, but through the use of OutputStream, they can deliver other types of data as well.

JSP can be used as the view component of a server-side modelviewcontroller design, with JavaBeans as the model and Java servlets (or a framework such as Apache Struts) as the controller. This is known as a JSP Model 2 architecture.

Comparison with similar technologies

JSPs are similar to PHP pages and ASP.NET Web Forms, in that all three add server-side code to an HTML page. While JSPs use the Java language, ASP.NET pages can use any .NET-compatible language (usually C#). PHP is its own programming language. ASP.NET is designed for a Microsoft Windows web server, while PHP and Java server technologies (including JSP) support on Windows or GNU/Linux, among other platforms.

AJAX
Ajax (an acronym for Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create asynchronous web applications. With Ajax, web applications can send data to, and retrieve data from, a server asynchronously (in the background) without interfering with the display and behavior of the existing page. Data is usually retrieved using the XMLHttpRequest object. Despite the name, the use of XML is not needed (JSON is often used instead), and the requests do not need to be asynchronous. Ajax is not a single technology, but a group of technologies. HTML and CSS can be used in combination to mark up and style information. The DOM is accessed with JavaScript to dynamically display, and to allow the user to interact with the information presented. JavaScript and the XMLHttpRequest object provide a method for exchanging data asynchronously between browser and server to avoid full page reloads.

Technologies

Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page. The following technologies are incorporated : 1) 2) 3) 4) 5) HTML (or XHTML) and CSS for presentation The Document Object Model (DOM) for dynamic display of and interaction with data XML for the interchange of data, and XSLT for its manipulation The XMLHttpRequest object for asynchronous communication JavaScript to bring these technologies together

10

Since then, there have been a number of developments in the technologies used in an Ajax application, and the definition of the term Ajax. In particular, it has been noted that JavaScript is not the only client-side scripting language that can be used for implementing an Ajax application; other languages such as VBScript are also capable of the required functionality. JavaScript is the most popular language for Ajax programming due to its inclusion in and compatibility with the majority of modern web browsers.

JAVASCRIPT
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. JavaScript was formalized in the ECMAScript language standard and is primarily used in the form of clientside JavaScript, implemented as part of a Web browser in order to provide enhanced user interfaces and dynamic websites. This enables programmatic access to computational objects within a host environment. JavaScript's use in applications outside Web pages for example in PDF documents, site-specific browsers, and desktop widgets is also significant. Newer and faster JavaScript VMs and frameworks built upon them (notably Node.js) have also increased the popularity of JavaScript for server-side web applications. JavaScript uses syntax influenced by that of C. JavaScript copies many names and naming conventions from Java, but the two languages are otherwise unrelated and have very different semantics. The key design principles within JavaScript are taken from the Self and Scheme programming languages.

Use in web pages

The most common use of JavaScript is to write functions that are embedded in or included from HTML pages and that interact with the Document Object Model (DOM) of the page. Some simple examples of this usage are: 1) Opening or popping up a new window with programmatic control over the size, position, and attributes of the new window (e.g. whether the menus, toolbars, etc., are visible). 2) Validating input values of a web form to make sure that they are acceptable before being submitted to the server.

11

3) Changing images as the mouse cursor moves over them: This effect is often used to draw the user's attention to important links displayed as graphical elements. 4) Transmitting information about the user's reading habits and browsing activities to various websites. Web pages frequently do this for web analytics, ad tracking, personalization or other purposes. Because JavaScript code can run locally in a user's browser (rather than on a remote server), the browser can respond to user actions quickly, making an application more responsive. Furthermore, JavaScript code can detect user actions which HTML alone cannot, such as individual keystrokes. Applications such as Gmail take advantage of this: much of the user-interface logic is written in JavaScript, and JavaScript dispatches requests for information (such as the content of an e-mail message) to the server. The wider trend of Ajax programming similarly exploits this strength. Because JavaScript is the only language that the most popular browsers share support for, it has become a target language for many frameworks in other languages, even though JavaScript was never intended to be such a language. Despite the performance limitations inherent to its dynamic nature, the increasing speed of JavaScript engines has made the language a surprisingly feasible compilation target.

Javascript & Java

A common misconception is that JavaScript is similar or closely related to Java. It is true that both have a Clike syntax, the C language being their most immediate common ancestor language. They are both objectoriented, typically sandboxed (when used inside a browser), and are widely used in client-side Web applications. In addition, JavaScript was designed with Java's syntax and standard library in mind. In particular, all Java keywords were reserved in original JavaScript, JavaScript's standard library follows Java's naming conventions, and JavaScript's Math and Date objects are based on classes from Java 1.0. However, the similarities end there. Java has static typing; JavaScript's typing is dynamic (meaning a variable can hold an object of any type and cannot be restricted). JavaScript is weakly typed ('0.0000' == 0, 0 == "", false == "", etc.) while Java is more strongly typed. Java is loaded from compiled byte-code; JavaScript is loaded as human-readable source code. Java's objects are class-based; JavaScript's are prototype-based. JavaScript also has many functional features based on the Scheme language.

jQuery
jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML.[1] It was released in January 2006 at BarCamp NYC by John Resig. Used by over 55% of the 10,000 most visited websites, jQuery is the most popular JavaScript library in use today. jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create

12

animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. This enables developers to create abstractions for lowlevel interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and web applications.

Features

jQuery includes the following features :

1) DOM element selections using the cross-browser open source selector engine Sizzle, a spin-off out of the jQuery project. 2) DOM traversal and modification (including support for CSS 1-3) 3) DOM manipulation based on CSS selectors that uses node elements name and node elements attributes (id and class) as criteria to build selectors 4) Events 5) Effects and animations 6) Ajax 7) Extensibility through plug-ins 8) Utilities - such as user agent information, feature detection 9) Compatibility methods that are natively available in modern browsers but need fallbacks for older ones - For example the inArray() and each() functions. 10) Cross-browser support

MySQL Workbench
MySQL Workbench is a visual database design tool that integrates SQL development, administration, database design, creation and maintenance into a single integrated development environment for the MySQL database system. It is the successor to DBDesigner 4 from fabFORCE.net, and replaces the previous package of software, MySQL GUI Tools Bundle.

MySQL GUI Tools Bundle

13

The MySQL GUI Tools Bundle is a cross-platform open source suite of desktop applications for the administration of MySQL database servers, and for building and manipulating the data within MySQL databases. It was developed by MySQL AB and later by Sun Microsystems and released under the GPL. Development on the GUI Tools bundle has stopped, and is now only preserved under the Download Archives of the MySQL site. The GUI Tools bundle has been superseded by MySQL Workbench, and reached its End-of-Life with the beta releases of MySQL Workbench 5.2. However, the MySQL Support team continued to provide assistance for the bundle until June 30, 2010. Future releases of MySQL Workbench will add a migration plugin, providing features comparable to the MySQL Migration Toolkit component within the MySQL GUI Tools bundle.

Features
Prominent features of MySQL Workbench 5.2 are:

General Database Connection & Instance Management Wizard driven action items Fully scriptable with Python and Lua Support for custom plugins SQL Editor o Schema object browsing o SQL syntax highlighter and statement parser o Multiple-, editable result sets o SQL snippets collections o SSH connection tunneling o Unicode support
o o o o o

Data modeling o ER diagramming o Drag'n'Drop visual modeling o Reverse engineering from SQL Scripts and live database o Forward engineering to SQL Scripts and live database o Schema synchronization o Printing of models o Import from fabFORCE.net DBDesigner4 Database administration

14

o o o o o o

Start and stop of database instances Instance configuration Database account management Instance variables browsing Log file browsing Data dump export/import

Glassfish Server

GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.

GlassFish is the Reference implementation of Java EE and as such supports Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services. GlassFish is based on source code released by Sun and Oracle Corporation's TopLink persistence system. It uses a derivative of Apache Tomcat as the servlet container for serving Web content, with an added component called Grizzly which uses Java New I/O (NIO) for scalability and speed.

JExcel API

15

Java Excel API is an open source Java API, which allows Java developers to read Excel spreadsheets and to generate Excel spreadsheets dynamically. In addition, it contains a mechanism which allows java applications to read in a spreadsheet, modify some cells and write out the new spreadsheet. This API allows non Windows operating systems to run pure Java applications which can both process and deliver Excel spreadsheets. Because it is Java, this API may be invoked from within a servlet, thus giving access to Excel functionality over internet and intranet web applications.

o o o o o o o o o

Features :
Reads data from Excel 95, 97, 2000 workbooks Reads and writes formulas (Excel 97 and later only) Generates spreadsheets in Excel 2000 format Supports font, number and date formatting Supports shading and coloring of cells Modifies existing worksheets Supports image creation Preserves macros on copy Customizable logging

Adobe Dreamweaver

16

Adobe Dreamweaver (formerly Macromedia Dreamweaver) is a proprietary web development application originally created by Macromedia. It is now developed by Adobe Systems, which acquired Macromedia in 2005. Dreamweaver is available for both Mac and Windows operating systems. Recent versions have incorporated support for web technologies such as CSS, JavaScript, and various server-side scripting languages and frameworks including ASP (ASP JavaScript, ASP VBScript, ASP.NET C#, ASP.NET VB), ColdFusion, Scriptlet, and PHP. Macromedia Dreamweaver 8 from Adobe is the industry-leading web development tool that lets you efficiently design, develop and maintain standards-based websites and applications. Dreamweaver 8 provides a powerful combination of visual layout tools, application development features, and code editing support. Dreamweaver 8 includes many new features to help you create and maintain websites that range from basic home pages to advanced applications that support best practices and the latest technologies. It includes a variety of media to help you learn the application and become proficient with creating web graphics. The Dreamweaver help system includes documentation to help you use Dreamweaver and develop Dreamweaver extensions.

Uses :Organize your site files Create a table-based layout Add content to web pages Format your pages with Cascading Style Sheets (CSS) Publish your site on the web Work with page code Create a CSS-based layout Display XML data in a web page Develop database-backed web pages

NetBeans
NetBeans refers to both a platform framework for Java desktop applications, and an integrated development environment (IDE) for developing with Java, JavaScript, PHP, Python (no longer supported after NetBeans 7), Groovy, C, C++, Scala, Clojure, and others. The NetBeans IDE 7.0 no longer supports Ruby and Ruby on Rails, but a third party has begun work on a separate plugin.

17

The NetBeans IDE is written in Java and can run on Windows, Mac OS, Linux, Solaris and other platforms supporting a compatible JVM. A pre-existing JVM or a JDK is not required. The NetBeans platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans platform (including the NetBeans IDE) can be extended by third party developers.

NetBeans Platform
The NetBeans Platform is a reusable framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required. Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again. The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are : o o o o o o o User interface management (e.g. menus and toolbars) User settings management Storage management (saving and loading any kind of data) Window management Wizard framework (supports step-by-step dialogs) NetBeans Visual Library Integrated development tools

NetBeans IDE is a free, open-source, cross-platform IDE with built-in-support for Java Programming Language.

Integrated modules

These modules are part of the NetBeans IDE. o NetBeans Profiler

18

It is a tool for the monitoring of Java applications: It helps developers find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0. The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic byte-code instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let you profile precise points of execution and measure execution time.

NetBeans GUI Builder

Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design Swing GUIs by dragging and positioning GUI components. The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the support for JSR 296 (Swing Application Framework) was removed in 7.1. NetBeans JavaScript editor

The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS. JavaScript editor features comprise syntax highlighting, refactoring, code completion for native objects and functions, generation of JavaScript class skeletons, generation of Ajax callbacks from a template; and automatic browser compatibility checks. CSS editor features comprise code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

NetBeans IDE Do wnload Bundles

Users can choose to download NetBeans IDE bundles tailored to specific development needs. Users can also download and install all other features at a later date directly through the NetBeans IDE.

19

NetBeans IDE Bundle for Web and Java EE

The NetBeans IDE Bundle for Web & Java EE provides complete tools for all the latest Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs), servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0 (Facelets), JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5 and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat. Some of its features with javaEE includes

Improved support for CDI, REST services and Java Persistence New support for Bean Validation Support for JSF component libraries, including bundled PrimeFaces library Improved editing for Expression Language in JSF, including code completion, refactoring and hints

FUTURE SCOPE
Apache Struts

20

Apache Struts framework is the implementation of Model-View-Controller (MVC) design pattern for the JSP that will not only ease out the task of the programmer but also, the user at the client-end. Struts offers a number of significant advantages over these techniques alone. Here is a summary:

Centralized File-Based Configuration. Rather than hard-coding information into Java programs, many Struts values are represented in XML or property files. This loose coupling means that many changes can be made without modifying or recompiling Java code, and that wholesale changes can be made by editing a single file. This approach also lets Java and Web developers focus on their specific tasks (implementing business logic, presenting certain values to clients, etc.) without needing to know about the overall system layout. Form Beans. In JSP, you can use property="*" with jsp:setProperty to automatically populate a JavaBean component based on incoming request parameters. Unfortunately, however, in the standard API this capability is unavailable to servlets, even though with MVC it is really servlets, not JSP pages, that should usually be the target of form submissions. Apache Struts extends this capability to Java code and adds in several useful utilities, all of which serve to greatly simplify the processing of request parameters. Bean Tags. Apache Struts provides a set of custom JSP tags (bean:write, in particular) that let you easily output the properties of JavaBeans components. Basically, these are concise and powerful variations of the standard jsp:useBean and jsp:getProperty tags. HTML Tags. Apache Struts provides a set of custom JSP tags to create HTML forms that are associated with JavaBeans components. This bean/form association serves two useful purposes:
o o

It lets you get initial form-field values from Java objects. It lets you redisplay forms with some or all previously entered values intact.

Form Field Validation. Apache Struts has builtin capabilities for checking that form values are in the required format. If values are missing or in an improper format, the form can be automatically redisplayed with error messages and with the previously entered values maintained. This validation can be performed on the server (in Java), or both on the server and on the client (in JavaScript). Consistent Approach. Struts encourages consistent use of MVC throughout your application.

As a result, there will be greater reliability, reusability and rapid deployment time.

21

ENTERPRISE JAVA BEANS (EJB)


Enterprise beans are the Java EE server side components that run inside the ejb container and encapsulates the business logic of an enterprise application. Enterprise applications are the software applications developed intended to use at large scale. These applications involves large number of data accessing concurrently by many users. Enterprise beans are used to perform various types of task like interacting with the client, maintaining session for the clients retrieving and holding data from the database and communicating with the server.

Benefits of enterprise beans


Enterprise beans are widely used for developing large and distributed applications. EJB container provides the system-level services (like transaction management and security authorization) to the enterprise beans. These services simplify the development process of large and distributed applications and the developer just have to concentrate on solving the problem occurred in it.

The client developer can focus only on the representation style of the client as all the business logic of the application is contained in the enterprise beans. The client developer does not bother about the code that implements business logic or the logic to access the databases. It benefits the client to be thin because the client runs on the small devices. Developing new applications from the existing beans is much easier because the enterprise beans are portable components. That means applications developed by using the enterprise components can run on any complaint J2EE server.

22

CONCLUSION
The success of Java and MVC design patters is evident from the fact that in todays era it has been widely adopted by service providers and consultancies to provide enterprise solutions to its clients. Telecom Billing Sector is a field, where the Telecom service providers need to have top-notch software applications and other facilities in order to procure equally ace services to their clients. Therefore, this Telecom Billing Management System in Java Technology is a small yet effective initiative in this prospective direction.

23

You might also like