DUCAT: IT Training and Consultancy Solutions
DUCAT: IT Training and Consultancy Solutions
DUCAT offers a wide spectrum of technical courses and application courses designed to suit every skill level, as well as the ability to consult directly with organizations to tailor made learning plans for any number of employees. Our products and services have a wide appeal and are applicable those in varied positions including network administrators, systems analysts, systems architects, test engineers, software developers, help desk staff, IT managers, senior executives, administrative assistants and business professionals. Thirteen years ago, DUCAT had a thought- to create a benchmark IT institute for the country and the world. Today as Asia, and in particular India Information Technology supremacy, we at the DUCAT are proud to contribute our part as the architects of creating IT Professionals for the world.
What began as an idea is now an acknowledged institution for quality learning. This is an outcome of the various facets that give the DUCAT its characteristic value the faculty, enterprising students, academic.
While the world accepts the DUCAT`s status we silently reinforce our commitment of being the cornerstone for research-oriented learning. Combine that with a strong focus on becoming one of the world`s top ranked IT Institute, and we`ve defined our role and our challenge for the years ahead. DUCAT Solutions offers innovative and cost effective mobile solutions for the ever demanding mobility market. We provide be-spoke and custom mobile applications for windows mobile platform.
DUCAT solutions is a mobile solutions provider offering application and mobile software development from our state of the art mobile offshore development centres in India. The company provides services across industries including Financial Services, Retail & Consumer, Life Sciences & Healthcare, Aerospace & Defense, Automotive, Telecom and Media, Publishing and Entertainment, amongst others. DUCATs key services include: Software Devlopment Training
Consultancy
1.1 INTRODUCTION
DUCAT offers a wide spectrum of technical courses and application courses designed to suit every skill level, as well as the ability to consult directly with organizations to tailor made learning plans for any number of employees. Our products and services have a wide appeal and are applicable those in varied positions including network administrators, systems analysts, systems architects, test engineers, software developers, help desk staff, IT managers, senior executives, administrative assistants and business professionals. Welcome to our world of opportunities. Whether you're a professional seeking greater challenges or a student embarking on an exciting new career, DUCAT has the opportunity for you. DUCAT is in its Ninth year of business and is at a very exciting growth stage. This company is committed to personal and professional development which provides an excellent opportunity for you to grow with us. The environment at DUCAT is outstanding! Every single employee is passionate about their work; so much so, that it becomes difficult to distinguish work from play. We are always in search of good talent in diverse fields.
1.2 TRAINING
DUCAT courses feature hands-on tasks and real-world scenariosin just a matter of days, you'll be more productive and embracing new technology standards.
The goal of our training program is to provide the world with skilled human resources who are competent to practice and provide solutions in an ever-changing technology world. To attain this goal, DUCAT uses a robust and well-researched proven training model. Trainees are exposed to a wide range of professional role models, mentors, and trainers while in the process they develop a professional identity that is uniquely their own. Since we always believe that each trainee bring with them their own unique skills and abilities, training staff recognizes and encourage them to develop and enhance these while sharing with other trainees. During the training period, our mentors provide an appropriate, graded sequence of experiential learning activities. Trainees are expected to attain increasing levels of autonomy and complexity in their progression from the role of student to the role of entry level professional by the end of the training where as our corporate training programs make the
experienced profession filled with new passion to face the next project challenge with full confidence.
We believe that self-awareness and the ability to continually reflect on one's own personal dynamics are critical to the development of effective professional skills. Towards this aim, trainees may be asked to engage in a process of personal exploration with their supervisors and trainers. In this process, mentors will encourage trainees to discuss and reflect upon how their experiences, personal qualities, and interpersonal dynamics related to their professional functioning. Mentors take care to create a training relationship characterized by trust, safety, and respect. They also take care to differentiate between training and supervision. As such, the focus of the discussion is always directly related to the trainees professional functioning and development.
1.3 CONSULTANCY
At DUCAT, you get the best HR solutions for different domains in IT. Since our inception, we have made a mark as one of the most prominent recruitment consultants in India. With the ongoing change in the various industries in India, which was initiated in the last decade, because of the globalization and open market strategies, companies are facing stiffer competitions from its MNC counterparts. Therefore, they have focused on the intensive
business strategies, and a perfect HR strategy which is one of the most important aspects of a well managed company. This is why the importance of the recruitment agencies in India is felt in a greater extent these days. We believe in acquiring in-depth knowledge of the domains of our client, because we understand that without understanding the business of our clients, we cannot help them in their HR policies. Therefore, unlike other HR companies in India, we at DUCAT have decided to narrow the horizon of our service, so that we can enhance the depth of the service. That is why our recruitment services are restricted to the IT and ITES sector only. Our extensive network enables us to source for the right candidates with the right experience and qualifications for our Clients. We aim to be your partner and are able to identify and select candidates to fill your requirements in the technical, managerial and functional roles. With our extensive experience in HR, and expertise in placing candidates with top MNCs, we will provide customized solutions to your HR requirements. We make every effort to understand your Organizational needs, current requirements, market availability as well as the compensation for the positions we take up.
Project management is a key factor of this task to ensure the strict deadlines are adhered to. It is also of paramount importance that tried and tested practices and techniques from the field are adhered to to ensure that no common development project mistakes are reproduced.
2.1 OBJECTIVE
MY TUBE this project is a web portal which gives an overview how a website related to the property business will work.
The MY TUBE will provide a solution for this type of work. The system will be helpful for those customers that mange there transactions from worldwide. This will surely make their work easy and fast by eliminating the tiresome paper work. The system will serve them with information in virtually no time, improving workers efficiency.
Less time consuming system. System is user friendly and easy to work. Paperless work. It will store the data very easly. Interactive system. Manage the all managerial resources efficiently. Improve efficiency of bank.
The project should be developed such that the necessary functions and performance are achieved within the constraints. The project is developed within latest technology. Through the technology may become obsolete after some period of time, due to the fact that never version of same software supports older versions, the system may still be used. So there are minimal constraints involved with this project. The system has been developed using Java the project is technically feasible for development.
investigation: The costs conduct a full system investigation. The cost of the hardware and software. The benefits in the form of reduced costs or fewer costly errors.
Since the system is developed as part of project work, there is no manual cost to spend for the proposed system. Also all the resources are already available, it give an indication of the system is economically possible for development.
The project would be beneficial because it satisfies the objectives when developed and installed. All behavioral aspects are considered carefully and conclude that the project is behaviorally feasible.
This software is designed to automate the Marketing Operations/Marketing Analysis of an Manufacturing/Marketing Organization .This software efficiently manages entire marketing Information for organizations.
3.1 OBJECTIVE
The objective of this software is to completely automate the process of : Allocating Targets to lower hierarchical level Team Members. Fetching Targets allocated by Higher hierarchical level Team Members. Allocating Pricing of Products. Fetching Product Pricing and further billing Products to Dealers. Graphical Analysis of companies performance at various levels on basis of a specific Region, Product, State either Inter-Region or Intra-region. Graphical Analysis of companies performance, compared to performance of competitors on basis of a specific Region, Product, State either Inter-Region or Intraregion. It also tracks down region wise contribution achieved . Maintaining feedback about dynamic Market Scenario and on basis of that various POLICY DECISIONS can be taken by different Departments in the Organisation. This application manages all the data giving at most priority to DATA SECURITY at each Hierarchical Level.
PROCESSING
The request made by the user varies according to different options that he/she has to choose from, based on which user gives data values which are being processed. For i.e. the Pricing of Products is being decided , the user is giving values for various fields in the table these values are processed (other values updated automatically in the table , using JavaScript), then these values are entered into the database in the respective tables. Various other processing that is done is generating Order Form , CVC (Consignment Value Collection), updating various tables, fetching required information to display Graphical Comparisons from different tables.
VALIDATION
All the valid users will have a UserID and a Password , the user will be given access to the application only after matching these values. Login will be denied if the user is not validated after matching UserID and Password from the Database. Appropriate message will be given to the user. It will ensure the application is secure as only Registered Employees will be given Access, to protect application , from being Accessed by any Invalid user and hence ensuring important data from being accessed or even tampered.
EXCEPTION CONDITION
In various transactions user unwillingly may raise an exception condition, these expected mistakes are being caught in the Application and user will be prompted of the mistake, and will be given correct navigation point via which transaction is to be performed from there on. For i.e. while setting targets ,user by mistake may re-set Targets for the same Product, Year, Month ,hence an message will be generated stating that Targets for following have already being set. The targets set previously will be displayed in tabular form and the user will be given two navigation points either to Set Another Target or Modify the displayed Target.
SECURITY
The kind of data that is being handled, it is of utmost importance that data is kept secure at all levels. The data at various Levels/Areas is not accessible to other Levels/Areas. Hence different team members are not able to view data of other team members. This is being accomplished by getting desired data about the user who has logged in, from the Database and from thereon maintaining his/her required data for the entire Session for which he/she has logged in. For i.e. if an Field Engineer Logs in his/her details like Employee Code, City, Region, State are being maintained for that Session ,so that if he tries to view performance of his/her colleague ,details will not be displayed.
technologies as free software under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Class path. The Java language was created by James Gosling in June 1991 for use in a set top box project. The language was initially called Oak, after an oak tree that stood outside Gosling's office - and also went by the name Green - and ended up later being renamed to Java, from a list of random words. Gosling's goals were to implement a virtual machine and a language that had a familiar C/C++ style of notation. Primary goals There were five primary goals in the creation of the Java language: It should use the object-oriented programming methodology. It should allow the same program to be executed on multiple operating systems. It should contain built-in support for using computer networks. It should be designed to execute code from remote sources securely. It should be easy to use by selecting what were considered the good parts of other object-oriented languages. The Java platform is the name for a bundle of related programs, or platform, from Sun which allow for developing and running programs written in the Java programming language. The platform is not specific to any one processor or operating system, but rather an execution engine (called a virtual machine) and a compiler with a set of standard libraries which are implemented for various hardware and operating systems so that Java programs can run identically on all of them.
One of the most important features of Java is platform independence, which makes it famous and suitable language for World Wide Web. JAVA VIRTUAL MACHINE The heart of the Java Platform is the concept of a "virtual machine" that executes Java byte code programs. This byte code is the same no matter what hardware or operating system the program is running under. There is a JIT compiler within the Java Virtual Machine, or JVM. The JIT compiler translates the Java byte code into native processor instructions at runtime and caches the native code in memory during execution. The use of byte code as an intermediate language permits Java programs to run on any platform that has a virtual machine available. The use of a JIT compiler means that Java applications, after a short delay during loading and once they have "warmed up" by being all or mostly JIT-compiled, tend to run about as fast as native programs. Since JRE version 1.2, Sun's JVM implementation has included a just-in-time compiler instead of an interpreter. Although Java programs are Platform Independent, the code of the Java Virtual Machine (JVM) that execute these programs are not. Every Operating System has its own JVM. CLASS LIBRARIES In most modern operating systems, a large body of reusable code is provided to simplify the programmer's job. This code is typically provided as a set of dynamically loadable libraries that applications can call at runtime. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the existing libraries. Instead, the Java Platform provides a comprehensive set of standard class libraries, containing much of the same reusable functions commonly found in modern operating systems. The Java class libraries serve three purposes within the Java Platform. Like other standard code libraries, they provide the programmer a well-known set of functions to perform
common tasks, such as maintaining lists of items or performing complex string parsing. In addition, the class libraries provide an abstract interface to tasks that would normally depend heavily on the hardware and operating system. Tasks such as network access and file access are often heavily dependent on the native capabilities of the platform. The Java java.net and java.io libraries implement the required native code internally, then provide a standard interface for the Java applications to perform those tasks. Finally, when some underlying platform does not support all of the features a Java application expects, the class libraries can either emulate those features using whatever is available, or at least provide a consistent way to check for the presence of a specific feature. PLATFORM INDEPENDENCE One characteristic, platform independence, means that programs written in the Java language must run similarly on any supported hardware/operating-system platform. One should be able to write a program once, compile it once, and run it anywhere. This is achieved by most Java compilers by compiling the Java language code halfway (to Java bytecode) simplified machine instructions specific to the Java platform. The code is then run on a virtual machine (VM), a program written in native code on the host hardware that interprets and executes generic Java bytecode. (In some JVM versions, bytecode can also be compiled to native code, either before or during program execution, resulting in faster execution.) Further, standardized libraries are provided to allow access to features of the host machines (such as graphics, threading and networking) in unified ways. Note that, although there is an explicit compiling stage, at some point, the Java bytecode is interpreted or converted to native machine code by the JIT compiler. The first implementations of the language used an interpreted virtual machine to achieve portability. These implementations produced programs that ran more slowly than programs compiled to native executables, for instance written in C or C++, so the language suffered a reputation for poor performance. More recent JVM implementations produce programs that run significantly faster than before, using multiple techniques. One technique, known as just-in-time compilation (JIT), translates the Java bytecode into native code at the time that the program is run, which results in a program that executes faster than interpreted code but also incurs compilation overhead during execution. More sophisticated VMs use dynamic recompilation, in which the VM can analyze the behavior of
the running program and selectively recompile and optimize critical parts of the program. Dynamic recompilation can achieve optimizations superior to static compilation because the dynamic compiler can base optimizations on knowledge about the runtime environment and the set of loaded classes, and can identify the hot spots (parts of the program, often inner loops, that take up the most execution time). JIT compilation and dynamic recompilation allow Java programs to take advantage of the speed of native code without losing portability. Another technique, commonly known as static compilation, is to compile directly into native code like a more traditional compiler. Static Java compilers, such as GCJ, translate the Java language code to native object code, removing the intermediate bytecode stage. This achieves good performance compared to interpretation, but at the expense of portability; the output of these compilers can only be run on a single architecture. Some see avoiding the VM in this manner as defeating the point of developing in Java; however it can be useful to provide both a generic bytecode version, as well as an optimised native code version of an application. AUTOMATIC MEMORY MANAGEMENT One of the ideas behind Java's automatic memory management model is that programmers be spared the burden of having to perform manual memory management. In some languages the programmer allocates memory for the creation of objects stored on the heap and the responsibility of later deallocating that memory also resides with the programmer. If the programmer forgets to deallocate memory or writes code that fails to do so, a memory leak occurs and the program can consume an arbitrarily large amount of memory. Additionally, if the program attempts to deallocate the region of memory more than once, the result is undefined and the program may become unstable and may crash. Finally, in non garbage collected environments, there is a certain degree of overhead and complexity of user-code to track and finalize allocations. Often developers may box themselves into certain designs to provide reasonable assurances that memory leaks will not occur. In Java, this potential problem is avoided by automatic garbage collection. The programmer determines when objects are created, and the Java runtime is responsible for managing the object's lifecycle. The program or other objects can reference an object by holding a reference to it (which, from a low-level point of view, is its address on the heap). When no references to an object remain, the Java garbage collector automatically deletes the unreachable object, freeing memory and preventing a memory leak. Memory leaks may still occur if a
programmer's code holds a reference to an object that is no longer needed in other words, they can still occur but at higher conceptual levels. The use of garbage collection in a language can also affect programming paradigms. If, for example, the developer assumes that the cost of memory allocation/recollection is low, they may choose to more freely construct objects instead of pre-initializing, holding and reusing them. With the small cost of potential performance penalties (inner-loop construction of large/complex objects), this facilitates thread-isolation(no need to synchronize as different threads work on different object instances) and data-hiding. The use of transient immutable value-objects minimizes side-effect programming. Comparing Java and C++, it is possible in C++ to implement similar functionality (for example, a memory management model for specific classes can be designed in C++ to improve speed and lower memory fragmentation considerably), with the possible cost of adding comparable runtime overhead to that of Java's garbage collector, and of added development time and application complexity if one favors manual implementation over using an existing third-party library. In Java, garbage collection is built-in and virtually invisible to the developer. That is, developers may have no notion of when garbage collection will take place as it may not necessarily correlate with any actions being explicitly performed by the code they write. Depending on intended application, this can be beneficial or disadvantageous: the programmer is freed from performing low-level tasks, but at the same time loses the option of writing lower level code. Additionally, the garbage collection capability demands some attention to tuning the JVM, as large heaps will cause apparently random stalls in performance. Java does not support pointer arithmetic as is supported in, for example, C++. This is because the garbage collector may relocate referenced objects, invalidating such pointers. Another reason that Java forbids this is that type safety and security can no longer be guaranteed if arbitrary manipulation of pointers is allowed. PERFORMANCE Java's performance has improved substantially since the early versions, and performance of JIT compilers relative to native compilers has in some tests been shown to be quite similar. The performance of the compilers does not necessarily indicate the performance of the compiled code; only careful testing can reveal the true performance issues in any system.
JAVA RUNTIME ENVIRONMENT The Java Runtime Environment, or JRE, is the software required to run any application deployed on the Java Platform. End-users commonly use a JRE in software packages and Web browser plugins. Sun also distributes a superset of the JRE called the Java 2 SDK (more commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, Jar and debugger. One of the unique advantages of the concept of a runtime engine is that errors (exceptions) should not 'crash' the system. Moreover, in runtime engine environments such as Java there exist tools that attach to the runtime engine and every time that an exception of interest occurs they record debugging information that existed in memory at the time the exception was thrown (stack and heap values). These Automated Exception Handling tools provide 'root-cause' information for exceptions in Java programs that run in production, testing or development environments.
REMOTE METHOD INVOCATION (RMI) RMI is a specification that enables one JVM to invoke methods in an object located in another JVM. These two JVMs could be running on the same computer as separate processes. RMI is implemented on the middle-tier of the three-tier architecture framework, thereby facilitating the programmers to invoke distributed components across a networked environment. Sun introduced RMI as an easy alternative to the complex coding involved in server-socket programming. For using RMI, the programmer need not know socket programming or multi threading and needs to strongly concentrate on developing the business logic.
RMI is built up on the specification of how remote and local objects interoperate. Local objects are the objects that execute on the local machine. Remote objects are those execute on all other machines. Objects on the remote hosts are exported so that they can be invoked remotely. An object exports itself by registering itself with a Remote Registry Server. A remote Registry Server is a server that runs on a server and helps the objects on the other hosts to remotely access its registered objects. The registry service maintains a database of all the named remote objects.
Javas RMI approach is organised into a client/server framework. A local object that invokes a method of a remote object is referred to as a client object and the remote object whose methods are invoked is referred to as a server object. RMI procedure is simple: At the server side, an RMI service is created. This service is an object with a main class that does nothing else than creating the remote object with new and binding it into an RMI registry with a unique name. The client needs to know this remote registry to get a reference to the service. Once the client has this reference, it can make remote method calls with parameters and return values as if the object (service) were to be on the local host. Objects are transmitted through serialization.
RMI is the object equivalent of Remote Procedure Call (RPC). While RPC allows you to all procedures over a network, RMI invokes an objects methods over a network. In the RMI model, the server defines objects methods over a network. In the RMI model, the server defines objects that the client can use remotely. The clients can now invoke methods of this remote object as if it were a local objects running in the same virtual machine as the client. RMI hides the underlying mechanism of transporting method arguments and return values across the network. In Java-RMI, an argument or return value can be of any primitive Java type or any other Serializable Java object.
RMI follows a three-tier architecture that is quite similar to CORBA, which enables communication between distributed components written in different languages. CORBA requires additional middleware called ORB (Object Request Broker) to provide data translation from one language to another. Components of a Distributed RMI Application RMI Server RMI Client RMI Registry
RMI SERVER RMI Server contains the objects whose methods are to be invoked remotely. The server creates several remote objects and makes a reference of these objects in the RMI registry. (The remote object is an ordinary object in the address space of the server process).
RMI CLIENT To client is the process that is invoking a method on a remote object. The client gets the reference of one or more remote objects from the RMI registry by looking up the object name. The client then invokes the methods on the remote objects to access the services of the remote objects.Once the client gets the reference of the remote object, the methods in the remote object are invoked just like the methods of a local object. The difference cannot be identified in terms of whether the methods are invoked on the remote object or are invoked on the local objects in the client. RMI REGISTRY Since both the client and the server may reside on different machine/processes, there needs to be a mechanism that can establish a relationship between the two. Java RMI uses a network based registry program called RMI Registry to keep track of the distributed objects. RMI Registry is a service that runs on the RMI server. The remote objects (server objects) created by the server are registered by the objects unique name in this registry. In other words, the server object makes methods available for remote invocation by binding it to a name in the RMI Registry. The client object , can thus check for the availability of a certain server object by looking up its name in the registry. The RMI Registry will act as a central management point for Java RMI. RMI Registry is a simple name repository. RMI Registry does not address the problem of actually invoking remote methods. Only methods in the remote interface can be invoked. To start the RMI Registry on the server, execute the start rmiregistry command prompt. By defaults the registry runs on port 1099. If the registry is running on a different port , ie other than 1099, you need to specify the port number in the URL string specified in the rebind() method of the Naming class. You must stop and restart the rmiregistry service whenever you modify the remote interface. RMI ARCHITECTURE The RMI architecture consists of three layers Stub/Skeleton Layer Remote Reference Layer Transport Layer
Stub/Skeleton Layer:
The Stub/Skeleton layer listens to the remote method calls made by the client and redirect these to the remote RMI services on the server. This layer consists of Stub and Skeleton. Since the two objects may physically reside on different machines, a mechanism is needed to transmit the client's request to invoke a method on the server object
STUB Stub resides in the client machine. To invoke methods of a remote object, the request on the client side starts with the stub. The stub acts as a proxy to the skeleton. When a client invokes a server method, the JVM looks at the stub to do the type checking. The request is then routed to the skeleton on the server, which in turn calls the appropriate method on the server object. The stub packages a block of bytes, which should be the parameters in the remote method. This package uses a device-independent encoding of the parameters used. This process of encoding the parameters is called parameter marshalling.
When the client calls a remote method, the stub is invoked and it does the following: Initiates a connection with the remote JVM Marshals (prepares and transmits) the parameters to the server. Waits for the result of the method invocation Unmarshals (reads) the return value or exception returned. Returns the value to the client.
SKELETON Skeleton resides on the server machine. Stub communicates the method invocations to the remote object through the skeleton.Skeleton is a server side proxy that continues communication with the stub y reading the parameters for the call, making the call to the remote service implementation object, accepting the return value and writing the return value back to the stub.
Skeleton performs the following operations for each received call: Unmarshals (reads) the parameters for the remote method. Invoke the method in the actual remote object implementation. Marshals the result to the caller. The Skeleton in turn unmarshals and desterilizes the data on the remote machine and passes the data to the actual method implementation. After the method completes, the return value
Remote Reference Layer The Remote Reference Layer interprets and manages the references made by the client to the remote object on the server. This layer is present on the client as well as the server. The RRL on the client-side receives the request for the methods from the stub that is transferred as a marshalled stream of data to the RRL of the server.
TRANSPORT LAYER
The transport layer is a link between the RRL on the server side and the RRL on the client side. The Transport Layer is responsible for setting up new connections. Its also responsible for handling remote objects that residing in its address space. RMI PACKAGES java.rmi java.rmi.registry java.rmi.server Java 2 Enterprise Edition (J2EE)
The J2EE platform uses a multitiered distributed application model. Application logic is divided into components according to function, and the various application components that make up a J2EE application are installed on different machines depending on the tier in the multitiered J2EE environment to which the application component belongs. Figure 1-1 shows two multitiered J2EE applications divided into the tiers described in the following list. The J2EE application parts shown in Figure 1-1 are presented in J2EE Components.
Client-tier components run on the client machine. Web-tier components run on the J2EE server. Business-tier components run on the J2EE server. Enterprise information system (EIS)-tier software runs on the EIS server.
Although a J2EE application can consist of the three or four tiers shown in Figure 1-1, J2EE multitiered applications are generally considered to be three-tiered applications because they are distributed over three different locations: client machines, the J2EE server machine, and the database or legacy machines at the back end. Three-tiered applications that run in this way extend the standard two-tiered client and server model by placing a multithreaded application server between the client application and back-end storage.
FIGURE 2: MULTITIERED APPLICATION J2EE COMPONENTS J2EE applications are made up of components. A J2EE component is a self-contained functional software unit that is assembled into a J2EE application with its related classes and files and that communicates with other components. The J2EE specification defines the following J2EE components:
Application clients and applets are components that run on the client. Java Server and Java Server Pages (JSP) technology components are Web components that run on the server.
Enterprise JavaBeans (EJB) components (enterprise beans) are business components that run on the server.
J2EE components are written in the Java programming language and are compiled in the same way as any program in the language. The difference between J2EE components and "standard" Java classes is that J2EE components are assembled into a J2EE application,
verified to be well formed and in compliance with the J2EE specification, and deployed to production, where they are run and managed by the J2EE server.
WEB CLIENTS A Web client consists of two parts: dynamic Web pages containing various types of markup language (HTML, XML, and so on), which are generated by Web components running in the Web tier, and a Web browser, which renders the pages received from the server. A Web client is sometimes called a thin client. Thin clients usually do not do things like query databases, execute complex business rules, or connect to legacy applications. When you use a thin client, heavyweight operations like these are off-loaded to enterprise beans executing on the J2EE server where they can leverage the security, speed, services, and reliability of J2EE server-side technologies. APPLETS A Web page received from the Web tier can include an embedded applet. An applet is a small client application written in the Java programming language that executes in the Java virtual machine installed in the Web browser. However, client systems will likely need the Java Plug-in and possibly a security policy file in order for the applet to successfully execute in the Web browser. Web components are the preferred API for creating a Web client program because no plugins or security policy files are needed on the client systems. Also, Web components enable cleaner and more modular application design because they provide a way to separate applications programming from Web page design. Personnel involved in Web page design thus do not need to understand Java programming language syntax to do their jobs.
APPLICATION CLIENT A J2EE application client runs on a client machine and provides a way for users to handle tasks that require a richer user interface than can be provided by a markup language. It
typically has a graphical user interface (GUI) created from Swing or Abstract Window Toolkit (AWT) APIs, but a command-line interface is certainly possible. Application clients directly access enterprise beans running in the business tier. However, if application requirements warrant it, a J2EE application client can open an HTTP connection to establish communication with a servlet running in the Web tier.
JAVABEANS COMPONENT ARCHITECTURE The server and client tiers might also include components based on the JavaBeans component architecture (JavaBeans component) to manage the data flow between an application client or applet and components running on the J2EE server or between server components and a database. JavaBeans components are not considered J2EE components by the J2EE specification. JavaBeans components have instance variables and get and set methods for accessing the data in the instance variables. JavaBeans components used in this way are typically simple in design and implementation, but should conform to the naming and design conventions outlined in the JavaBeans component architecture.
J2EE SERVER COMMUNICATION The client communicates with the business tier running on the J2EE server either directly or, as in the case of a client running in a browser, by going through JSP pages or servlets running in the Web tier.J2EE application uses a thin browser-based client or thick application client. In deciding which one to use, you should be aware of the trade-offs between keeping functionality on the client and close to the user (thick client) and off-loading as much functionality as possible to the server (thin client). The more functionality you off-load to the server, the easier it is to distribute, deploy, and manage the application; however, keeping more functionality on the client can make for a better perceived user experience.
WEB COMPONENT J2EE Web components can be either servlets or JSP pages. Servlets are Java programming language classes that dynamically process requests and construct responses. JSP pages are text-based documents that execute as servlets but allow a more natural approach to creating static content.Static HTML pages and applets are bundled with Web components during application assembly, but are not considered Web components by the J2EE specification. Server-side utility classes can also be bundled with Web components and, like HTML pages, are not considered Web components.Like the client tier and as shown in Figure 1-3, the Web tier might include a JavaBeans component to manage the user input and send that input to enterprise beans running in the business tier for processing.
FIGURE 4: WEB TIER AND J2EE APPLICATION BUSINESS COMPONENT Business code, which is logic that solves or meets the needs of a particular business domain such as banking, retail, or finance, is handled by enterprise beans running in the business tier. An enterprise bean also retrieves data from storage, processes it (if necessary), and sends it back to the client program.
There are three kinds of enterprise beans: session beans, entity beans, and message-driven beans. A session bean represents a transient conversation with a client. When the
client finishes executing, the session bean and its data are gone. In contrast, an entity bean represents persistent data stored in one row of a database table. If the client terminates or if the server shuts down, the underlying services ensure that the entity bean data is saved. A message-driven bean combines features of a session bean and a Java Message Service (JMS) message listener, allowing a business component to receive JMS messages asynchronously. This tutorial describes entity beans and session beans.
ENTERPRISE INFORMATION SYSTEM TIER The enterprise information system tier handles enterprise information system software and includes enterprise infrastructure systems such as enterprise resource planning (ERP), mainframe transaction processing, database systems, and other legacy information systems. J2EE application components might need access to enterprise information systems for database connectivity
JAVA SERVER PAGE (JSP) Java Server Pages technology is the Java platform technology for building applications containing dynamic Web content such as HTML, DHTML and XML. The Java Server Pages technology enables the authoring of Web pages that create dynamic content easily but with maximum power and flexibility.
The Java Server Pages technology is platform independent, both in its dynamic Web pages, its Web servers, and its underlying server components. You can author JSP pages on any platform, run them on any Web server or Web enabled application server, and access them
from any Web browser. You can also build the server components on any platform and run them on any server.
The Write Once, Run Anywhere properties of JSP allows the user to choose best-ofbreed tools. Additionally, an explicit goal of the Java Server Pages design is to enable the creation of high quality portable tools.
Reuse of components and tag libraries The Java Server Pages technology emphasizes the use of reusable components such as: JavaBeans components, Enterprise JavaBeans components and tag libraries. These components can be used in interactive tools for component development and page composition. This saves considerable development time while giving the crossplatform power and flexibility of the Java programming language and other scripting languages.
JSP ARCHITECTURE JSPs are built on top of SUNs servlet technology. JSPs are essential an HTML page with special JSP tags embedded. These JSP tags can contain Java code. The JSP file extension is .jsp rather than .htm or .html. The JSP engine parses the .jsp and creates a Java servlet source file. It then compiles the source file into a class file; this is done the first time and this why the JSP is probably slower the first time it is accessed. Any time after this the special compiled servlet is executed and is therefore returns faster. JAVA SCRIPT JavaScript is a programming language that allows scripting of events, objects, and actions to create Internet applications. A website development environment that will allow the
creation of Interactive Web Pages. The coding techniques capable of accepting a client's requests and processing these requests. The web site development environment should also provide the facility for 'validating' user input. With JavaScript, forms are a consideration in nearly every page you design. Capturing user requests is traditionally done via a 'form'. So the web site needs to have facilities to create forms. Text fields and textareas can dynamically change in response to user responses. TOMCAT 5.0 Tomcat is a servlet container and Java Server Pages implementation it may be used stand alone ,or in conjunction with several popular web servers . Apache version 1.3 or later MS Internet Information Server ,version 4.0 or later MS personel web server, version 4.0 or later NetScape enterprise server , version 3.0 or later
Tomcat is a security update release.This release closes a whole that potentially allowed access to resourse protected by a <security constraint > in web.xml. Installing and Running Tomcat 5.0 Tomcat requires a Java Runtime Environment (JRE).Conformant to JRE 1.1 or later including any Java2 platform system.If one wishes to develop applications you will need a java compiler , such as the one included in a java development kit 1.1 or later environment including JDKs conformant with Java2.
Web server:
BEAs WebLogic 8.1 Application Server to serve as Servlet/JSP engine.The system requires WebLogic Application Server for serving the requests for Servlet.
Server side application software: Java Server Pages (JSP) Business Logic Software: Java Beans. (JB) Client Side Application Software: Java Script, HTML Data Base: Oracle 10g
Software Requirement
Operating System Backend tool Front-end tool Window XP Ms-access Java
BACK END:
ORACLE 10g
Some of the merits of using Oracle (RDBMS) are as under: Centralization of database. Client Server Technology. Security. Normalization of Data Base. Relationship.
Design the physical system. Specify input and output media. Design the database and specify backup procedures.
Design physical information flow through the system and a physical design Plan system implementation. Prepare a conversion schedule and target date. Determine training procedures, courses and timetable. Devise a test and implementation plan and specify any new hardware/software. Update benefits , costs , conversion date and system constraints
Design/Specification activities:
Concept formulation. Problem understanding. High level requirements proposals. Feasibility study. Requirements engineering. Architectural design.
keeping the process simple. The input is designed in such a way so that it provides security and ease of use with retaining the privacy. Input Design considered the following things: What data should be given as input? How the data should be arranged or coded? The dialog to guide the operating personnel in providing input. Methods for preparing input validations and steps to follow when error occur.
Designing computer output should proceed in an organized, well thought out manner; the right output must be developed while ensuring that each output element is designed so that people will find the system can use easily and effectively. When analysis design computer output, they should Identify the specific output that is needed to meet the requirements.
Select methods for presenting information. Create document, report, or other formats that contain information produced by the system.
The output form of an information system should accomplish one or more of the following objectives.
Convey information about past activities, current status or projections of the Future. Signal important events, opportunities, problems, or warnings. Trigger an action.