Contents Page No.: Sms Gateway
Contents Page No.: Sms Gateway
Contents Page No.: Sms Gateway
1. INTRODUCTION 3-6
4. PLANNING 11-14
5. DESIGN
5.3.1 ScreenShots
6. IMPLEMENTATION 25-29
7. CONCLUSION 30
7.1 Conclusion
7.2 Limitations
7.3 Future Enhancements
REFERENCES 31
GLOSSARY 32-37
SVCE Page 2
SMS GATEWAY
CHAPTER 1
INTRODUCTION
An SMS gateway is a technology that allows users to send SMS messages from a Web
browser to people within the cell served by that gateway. An SMS gateway can also serve as
an international gateway for users with roaming capability, allowing SMS communication
away from the home network.
The SMS specification has defined a way for a computer to send SMS messages through a
mobile phone or GSM/GPRS modem. A GSM/GPRS modem is a wireless modem that works
with GSM/GPRS wireless networks. A wireless modem is similar to a dial-up modem. The
main difference is that a wireless modem transmits data through a wireless network whereas
a dial-up modem transmits data through a copper telephone line.Most mobile phones can be
used as a wireless modem. However, some mobile phones have certain limitations comparing
to GSM/GPRS modems.
SVCE Page 3
SMS GATEWAY
1.1Problem Definition
Today in the fast moving world everyone is lacking of time. Everyone has to complete his
work very fast and have to do more and more work in short period of time. With the help of
this project one can save his time and labor.
Similar situation arises when a person want to post an advertisement or search an
advertisement he has to go through the news papers, banners or he has to search a particular
advertisement hoardings or search a particular ad manually. so we are having a
software”SMS GATEWAY”. which is the best solution of all the above problems.
SVCE Page 4
SMS GATEWAY
The front-end would simply be a section for the message (limit) and a destination address
(mobile number). Then, based on your architecture, a lower layer would have to create the
correct message based on the request or the message is generate server side. In the case of an
end-user sending a message to a mobile unit, it would be a SMS-DELIVER message. Then
entire message would then be "encapsulated" in a TCP/IP message and send to the
appropriate Short Message Service Centre (SMSC). The MSC would then remove the
TCP/IP layer from the message and process the message as if it were generated locally by an
operator.
SVCE Page 5
SMS GATEWAY
Need
It require a server to run because it is a mobile based application
Scope
An SMS gateway is a technology that allows users to send SMS messages from a
Web browser to people within the cell served by that gateway. An SMS gateway
can also serve as an international gateway for users with roaming capability,
allowing SMS communication away from the home network.
The SMS specification has defined a way for a computer to send SMS messages
through a mobile phone or GSM/GPRS modem. A GSM- GPRS modem is a
wireless modem that works with GSM/GPRS wireless networks. A wireless
modem is similar to a dial-up modem. The main difference is that a wireless
modem transmits data through a wireless network whereas a dial-up modem
transmits data through a copper telephone line. Most mobile phones can be used as
a wireless modem. However, some mobile phones have certain limitations
comparing to GSM/GPRS modems.
SVCE Page 6
SMS GATEWAY
CHAPTER 2
LITERATURE SURVEY
None.
2.2 Advantages:
Modern Technology
Flexible
Time Saving
User Friendly
Easy Accessible
Efficient improvement
Portability
Maintainability
A proper management for sms gateway is must for any mobile application.
SVCE Page 7
SMS GATEWAY
It also includes information about the J2EE application frame work that we are used.
This describes the prerequisite of system administrator and user. The description is very
simple for every one to easily get to understand the basics behind the tool implementation
of this software.
Java:-
Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank and Mike
Sheridan at Sun Microsystems Inc. in 1991. It took 18 months to develop the first working
version. This language was initially called “Oak” but was renamed “Java” in 1995.
Java derives much of its character from C and C++. Because of the similarities between
Java and C++, it is tempting to think of Java as simply the “Internet version of C++”. Java
was not designed to replace C++; actually it was designed to solve a certain set of
problems. C++ was designed to solve a certain a different set of problems. Java is very
important to the Internet because Java expands the universe of objects that can move about
freely in cyberspace. In a network, two very broad categories of objects are transmitted
between server and our personal computer passive information and dynamic, active
programs.
The key that allows Java to solve both the security and portability problems just described
is that the output of a java compiler is not executable code. Byte code is a highly optimized
set of instructions designed to be executed by the java run time system, which is called the
Java Virtual Machine (JVM). In essence, JVM is an interpreter for Byte code. The use of
Byte code enables the Java run-time system to execute programs much faster than you
might expect. Sun also provided its Just in Time (JIT) compiler for Byte code, which is
included in Java2 release.
SVCE Page 8
SMS GATEWAY
CHAPTER 3
System Analysis
Need of this project is justified by its usage and meaningful information that it provides to
the user & ease that it provides to administrator to maintain & update the records. It provides
any time access facility.
Requirement Analysis is one of the most important parts of project development. The
question above clear most of the things regarding the project. Now with reference to the
above questions the relative answers that we found are: This includes complete
understanding of problem definition. The project being designed only after a detailed
discussion about what all functionalities our application will provide.
SVCE Page 9
SMS GATEWAY
We have worked with our project guides to identify and refine requirements during question
and answer session. The problem is identified, selection elements are proposed, different
approaches are negotiated and a preliminary set of solution requirement is specified.
SVCE Page 10
SMS GATEWAY
CHAPTER 4
PLANNING
This system is to be used to find out the basic information regarding result. Also provide
facility of searching by the different users at the same time.
Human Resources: The persons required for developing the software must have basic
understanding of J2SE and designing of the database with minimum redundancy. They must
be available throughout the project.
Structure of our team is Democratic Decentralized (DD). Our team has no permanent
leader. Rather we have task coordinators. Decisions on problems and approach are made by
group consensus. Communication among team members is horizontal.
Advantage:
The length of time team live together affects team morale. It has been found that DD
team structure result in high morale and job satisfaction and is therefore good for teams that
will be together for a long time.
Disadvantage:
SVCE Page 11
SMS GATEWAY
The DD team structure is best applied to problems with relatively low modularity,
because of the higher volume of communication needed.
SVCE Page 12
SMS GATEWAY
4.5 Estimation:
Cost Estimation:
Cost estimation is part of the planning phase of any engineering activity. The cost
of software can be calculated based on the following factors:
Size
Complexity
Level of Reliability
Level of Technology Utilized
Availability, Feasibility & Stability of the system used to produce the product.
SVCE Page 13
SMS GATEWAY
Risk analysis is a series of steps that helps a software team to understand and
manage uncertainty. Many problems can plague a software project. A risk is potential
problem – it might happen, it might not. But, regardless of outcome, it’s a really good idea to
identify it, assess its probability of occurrence, estimate its impact, and establish a
contingency plan should the problem actually occur.
Risk always involves two characteristics:
Uncertainty: The risk may or may not happen; that is, there are no 100% probable
risks.
Loss: If the risk becomes reality, unwanted consequences or losses will occur.
When risks are analyzed, it is important to quantify the level of uncertainty and the degree of
loss associated with each risk. To accomplish this different categories of risk are considered.
i. Project risk: It threatens the project plan, that is if project risk become real, it is likely
that project schedule will slip and that costs will increase.
ii. Technical risk: It threatens the quality and timeliness of the software to be produced,
that is, if technical risk becomes a reality, implementation may become difficult or
impossible.
iii. Business risk: It threatens the viability of software to be built. It often jeopardizes the
project or the product.
iv. Known risk: It can be uncovered after careful evaluation of the project plan, the
business and technical environment in which the project is being developed and other
reliable information sources.
vi. Unpredictable risk: They can and do occur, but they are extremely difficult to
identify in advance.
SVCE Page 14
SMS GATEWAY
Chapter 5
Design
1. Data Structures
2. Software Architecture
3. Interface Representation
4. Procedural Details
In context to our project, this phase is necessary to get an insight into the proposed work.
Each of the above mentioned four major areas of concern need to be given proper time
during this phase so as to be clear of the requirements which could probably arise later while
the implementation phase.
VERIFICATION
MOBILE
STATION
RECEIVER PROCESS
SVCE Page 15
SMS GATEWAY
SENDING MSG
-port_id -baudrate
-source_id -simpin
-destination_id -smscenter
-msg
-setport_id() -setbaudrate()
-setsource_id() -setsimpin()
-setdestination_id() -setsmscenter()
-getmessage()
SVCE Page 16
SMS GATEWAY
SVCE Page 17
SMS GATEWAY
The use cases we specify in our use case diagram are described in detail in this section.
This section will include the detail specification of the use case module tells about which
actor is going to interact with the system, what will be his pre and post condition of this
use case with their basic flow of events.
CONNECTED TO PC
VIA MODEM
SEND
MESSAGES
SVCE Page 18
SMS GATEWAY
SVCE Page 19
SMS GATEWAY
SVCE Page 20
SMS GATEWAY
MESSAGE WINDOW:
SVCE Page 21
SMS GATEWAY
RECEIVER WINDOW:
SVCE Page 22
SMS GATEWAY
SVCE Page 23
SMS GATEWAY
Chapter 6
Implementation
SVCE Page 24
SMS GATEWAY
6.1Software Requirement
Operating system
The operating system used would be open source like Microsoft Windows
98/xp/vista. The versions used may be the latest one used in the market. The hardware
platform used will be Pentium versions, Dual- core or Core-2-Duo with 128 MB or
more memory. The development technology used will be JSP for the page designing
and servlets for server side applications.
Software Requirements
Windows 2000
Windows 2003
Windows XP
Windows Vista
Windows 7
Hardware Requirements
SVCE Page 25
SMS GATEWAY
Simple: - Java was designed to be easy for the professional programmer to learn
and use effectively. Java has another attribute that makes it easy to learn: it makes
an effort not to have surprising features.
Robust: - The ability to create robust programs was given a high priority in the
design of Java. To gain reliability, java restricts you in a few key areas, to force you
to find your mistakes early in program development. Since java is a strictly typed
language, it checks your code at compile time and it also checks your time at run
time.
Multithreaded: - Java was designed to meet the real world requirement of creating
interactive, networked programs. To accomplish this, Java supports multithreaded
programming, which allows you to write programs that that do many things
simultaneously.
Dynamic: - Java programs carry with them substantial amounts of run-time type
information that is used to verify and resolve accesses to objects at run-time. This
makes it possible to dynamically link code in a safe and expedient manner.
6.3 Testing:
SVCE Page 26
SMS GATEWAY
As Java and custom Web applications (J2EE) continue to become the Internet’s
dominant programming environment, the issues of performance and reliability remain a
major concern. As the Internet continues to grow, companies are pushed to produce
software faster than ever, inevitably resulting in products with more bugs.
This paper will argues that application performance tuning and analysis should occur
regularly, repeatedly and earlier in the application life cycle. What we call an “iterative”
approach to tuning and analysis entails addressing performance problems before they
accumulate, overwhelm and become costly. Responsibility for tuning must fall to
developers, who need to treat tuning and analysis as elements of the development process.
This approach opposes a traditional view of tuning as process separate from construction,
or one assigned to a QA team unfamiliar with the code and life cycle constructions phase.
We view the need for a shift to this iterative approach to be motivated by:
Changes in how Users view performance and reliability.
Changes in User requirement and in how software is brought to market.
The exploding presence of Java in the enterprise market, particularly in the
server-side arena.
These motives reflect the growing realization that critical software systems are
strategic assets that must be protected and nurtured throughout development and
use.
Software testing is a critical element of software quality assurance and represents the
ultimate reviews of specification, design and code generation. Testing is concerned with
uncovering of the system error.
A good test case is one that has high probability of finding an uncovered error.
Testing is done in order to check the various control flow of system
SVCE Page 28
SMS GATEWAY
customer. Software validation is achieved through a series of black box testing that
demonstrate conformity with requirements. After each validation test case has been
conducted, either the function or performance characteristics conform to specification
and are accepted or a deviation from specification is uncovered and a deficiency list is
created. In this case testing was done with a perception of user. Everything was integrated
and made sure that data flow was correct and congruent the perceived flow. It was
ensured that user can perform the use cases described with ease. Validations testing
techniques were heavily utilized during the UI testing phase and helped improve the
usability of the application substantially.
CHAPTER 7
CONCLUSION
SVCE Page 29
SMS GATEWAY
Comprehensive software is one that gives the ultimate benefit for which it was created in the
first. This project successfully implemented all the features regarding “SMS GATEWAY”.
The system operator can use this software very easily and conveniently. We solve all
problems like comparing various statistical data for different fields. If at any stage, it doesn’t
gives the benefits for which it was intended then its deemed as a failure. We were lucky that
our design turned out to be very close to what it should be. That aside, our code was
implemented as designed, with some small modifications along the way.
7.2 Disadvantages
Using a mobile phone or GSM/GPRS modem to send SMS messages has a major
drawback, that is the SMS sending rate is too low. Only 6-10 SMS messages can be sent
per minute (when the "SMS over GSM" mode is used). The performance is not affected
by the connection between the computer and the mobile phone or GSM/GPRS modem
(i.e. the SMS sending rate is about the same no matter the mobile phone or GSM/GPRS
modem is connected to the computer through a serial cable, USB cable, Bluetooth link
or infrared link) and does not depend on whether a mobile phone or GSM/GPRS modem
is used (i.e. the SMS sending rate is about the same no matter a mobile phone or a
GSM/GPRS modem is used).
REFERENCES
SVCE Page 30
SMS GATEWAY
www.google.com
www.javamail.com
www.javascape.com
www.sitepoint.com
www.surpac.com
GLOSSARY
Abstract class. A class that provides common behavior across a set of subclasses but is not
itself designed to have instances that work. An abstract class represent a concept; classes
derived from it represent implementation of the concept. See also base class.
SVCE Page 31
SMS GATEWAY
Application. In Java programming, a self contained, stand-alone java program that include a
main method.
Application Server. A server program that allow the installation of application specific
software components, in a manner so that they can be remotely invoked, usually by some for
of remote object method call.
Application Developer. The producer of web application. The output of an Application is a
set of servlet classes, JSP Pages, HTML Pages, and supporting libraries and files (ex- image,
compressed archive file, etc.) for the web application. The application developer is typically
an application domain expert. The developer is require to be aware of the servlet
environment and its consequences when programming, including concurrency consideration,
and create the web application accordingly.
Authorized User: A person who has been given authority by Administrator. But he/she must
be the Employee of that organization.
Base Class. Classes from which other classes or beans are derived. A base class may itself be
derived from another class. See also abstract class.
Basic. It is the basic salary for every employee.
Class. An aggregate that defines properties, operations, and behavior for all instances of that
aggregate.
Class Hierarchy. The Relationship between classes that share a single inheritance from the
object class.
Class library. A collection of class.
Class Path. In your deployment environment, the environment variable that specifies the
directories that in which to look for class and resources file.
Client/server. The model of interaction in distributed data processing where a program at
one location sends a request to a program at another location and awaited a response. The
requesting program is called a client, and the answering program is called server.
Collection. A set of feature in which each feature is an object.
Commit. The operation that ends a unit of work and update the database such that other
processor can access any change mode.
Concrete class. A subclass of an abstract class that is specialized of the abstract class.
Connection. A visual link between two components that represent the relationship between
the components. Each connection has a source a target and other properties.
Console. The window that acts as the standard input (System. in) and standard output
(System. out).
Constructor. A special class method that has same name as the class and is used to construct
and possibly initialize objects of its class type
D
Data Abstraction. A data type with a private representation and a public set of operations.
The Java language uses the concept of classes to implement data abstraction.
SVCE Page 32
SMS GATEWAY
Field. A Data object in a class. For example, a Employee class could have the Name field
and an address field. Fields can itself be an object with its own behavior and field.
Framework. A set of cooperative classes with strong connection that provide a template for
development.
Garbage Collector. A Smalltalk process for periodically identifying unreferenced object and
deal locating their memory
Graphical user interface (GUI). A type of interface that enable users to communicate with
a program by manipulating graphical features, rather than by entering commands.
Hypertext Mark-up Language (HTML). The basic language that is used to build hypertext
document on the World Wide Web. It is used in basic, plain ASCII-Text document but when
those document interpreted by a Web browser such as Netscape; the document can display
formatted text, color, a variety of Font, graphics Image, special effects, hypertext jumps to
other Internet Location.
Inheritance. A mechanism by which an object class can use the attributes, relationships, and
methods defined in more abstract classes related to it. It is an object-oriented programming
technique that allows you to use existing classes as bases for creating other classes.
Interface. A set of methods that can be accessed by any class in the class hierarchy. The
interface page in the Workbench list all interfaces in the Workspace.
SVCE Page 33
SMS GATEWAY
Java programs (called applets) Web pages can include function such as animation, calculator
and other fancy tricks.
Java Archive (JAR). A platform-independent file formats that groups many file into one.
JAR files are used for compression, reduced download time, and security. Because the JAR
format is written in Java, JAR files are fully extensible.
Keyword. A predefined word, reserved for Java that can’t be used as an identifier.
Method. Fragments of Java code within a class hat can be invoked and passed a set of
parameters to perform specific task.
Method call. A communication from one object to another that requests the receiving object
to execute a method. A method call consists of a method name that indicates the requested
Method and the argument to be used in executing the method. The method call always
returns some object to the requesting object as the result of performing the method.
Synonyms for Message.
Message. A request from one object that the receiving object implement a method. Because
data is encapsulated and not directly accessible, a message is the only way to send data from
one Object to another. Each message specifies the name of the receiving object, the method
to be Implemented, and any argument the method needs for implementation. Synonyms for
method Call.
Native Method. Method written in language other than java that can be called by java object.
Object. A Collection of data and methods that operate on that data, which together represent
a logical entity in the system. In object-oriented programming, objects are grouped into
classes that share common data definition and methods. Each object in the class is said to be
of the class.
Object class. A template for defining the attributes and methods of an object. An object class
can contain other object class. An individual representation of an object class is called an
object.
SVCE Page 34
SMS GATEWAY
Roll back. The process of restoring data changed by SQL statement to the state at it last
commits point.
Salary Advance. It is the deduction head which can be deduce in the case of regular
employee and daily wages employee.
Server. A computer that provide service to multiple users or workstation in a network. For
example a file server, a printer server, or a mail server.
Special Allowance. It is the type of allowance which is used for every employee.
SVCE Page 35
SMS GATEWAY
User Interface (UI). The hardware, software, or both that enables a user to interact with a
computer.
Variable. A storage place within an object for a data feature. The data feature is an object,
such as number or date, stored as n attribute of the containing object.
SVCE Page 36