06 Dec

Web Application Development with Java based Technologies

Web Application Development with JAVA

JAVA, Enterprise Development for Web based applications is all time favorite technology, which is being used by several companies and developers all around the globe. Demand in industry for Java based developers is gaining regularly, and android application development which is based on Java language has given this demand a strong push forward.

Java for web applications is overkill for small applications. A simple blog with one database table hold blog entries, for example, could be done in something much simpler.

I have usually seen Java do much better in much larger web applications (think banks and insurance companies) that communicate with a number of other systems (such as mainframe back-ends and databases and peer web-services background batch-processing systems… all in the same application).

From what I’ve seen, the architecture of a JavaEE web application is just usually more than is needed for small/simple web applications.

 

 

 

 

 

 

 

 

A Java web application is a collection of dynamic resources (such as Servlets, JavaServer Pages, Java classes and jars) and static resources (HTML pages and pictures). A Java web application can be deployed as a “.war” file. The “.war” file is a zip file which contains the complete content of the corresponding web application.

Java Web Standards

Standard Java technologies are defined via a standard process called the Java Community Process (JSP). The following technologies are defined via the JCP.

Servlet

A servlet is a Java class which extends “HttpServlet” and answers a HTTP request within a web container. The latest official version is Servlets 3.0 which is also part of Java EE 6. For details see the Java Servlets 3.0 Spec.

JavaServer Page

JavaServer Pages (JSP) are files which contains HTML and Java code. The web cotainer compiles the JSP into a servlet at the first time of accessing this JSP. The current latest version is 2.1.

JavaServer Pages Standard Tag Library

The JavaServer Pages Standard Tag Library (JSTL) encapsulates as simple tags the core functionality common to many Web applications. The current version is 1.2 is part of the JavaServer Pages Specification version 2.1.

Modern Approach (Rich Internet Applications)

What is RIA Development?

Applications that combine the benefits of Web and Desktop applications with low cost of Deployment and Reach of Web Applications. RIA has user experience of Desktop Applications that are:

  • Responsive
  • Data Driven
  • Rich Media
  • Online and Offline
Web based chess game Application

Web based chess game Application

Rich Internet Applications are getting more popularity compare to traditional HTML based internet applications due to enhanced user experience. Although they run in any browser, on any platform and they have features and functionalities of a desktop application.

Benefits of RIA:

  • It allows the user to access a Web Site or application without a separate installation process
  • It offers a rich user interface that matches the look and feel of a native graphical user interface(GUI) over a browser
  • The application themselves are small, providing reasonable performance for slower dial-up users as well as broadband connectivity

How can we develop RIA Applications?

Better user experience, increased productivity, rich and engaging viewing experience are some advantages of RIA. Keeping these points under consideration many companies and open source community have provided many solutions for developing RIA applications. The famous technologies are –

  1. GWT (converts Java based UI into Javascript, HTML, CSS – No plugin required)
  2. Apache Flex(formerly Adobe Flex – Requires Flash plugin  to run application)
  3. JavaFX from Oracle (Requires JRE plugin to run application)
  4. Microsoft Silverlight (Requires plugin to run application)

Introduction to Google Web Toolkit(GWT)

GWT is an open-source, Java-based framework for creating Ajax based web applications, created and used by Google, which makes writing web applications similar to Swing applications.

You might be a Java developer who would like to be able to apply the software engineering principles of object-oriented programming and leverage the tools in your Java IDE when writing applications for the web. Or you might be a JavaScript guru curious about GWT’s ability to generate highly optimized JavaScript with permutations for multiple browsers.

GWT provides a Java API that lets you build component based GUIs while avoiding JavaScript, and abstracting the HTTP protocol and underlying browser DOM model.

All of this achieved using the GWT compiler, which does not generate Java bytecode, rather it generates JavaScript! The GWT compiler takes your client side Java code and generates JavaScript. A compiled GWT application consists of fragments of HTML, XML and JavaScript

If you want to have your web application communicate with a web server, GWT has you covered as well. GWT has a Remote Procedure Call (RPC) mechanism that makes it easy for the client and server to pass Java objects back and forth.

 

 

 

 

 

 

 

Enterprise Usage

GWT is widely used in the Enterprise space due to its leveraging of common enterprise technologies including Java, Apache Tomcat (or similar web container), Eclipse IDE,  and Internationalization and Localization. Java-based GWT RIA’s are easier to test using the existing JUnit testing framework and code coverage tools, compared to large applications written in Javascript. Because GWT allows compile time verification of images, CSS, and business logic, many common development defects are automatically discovered without need of the manual testing commonly required by RIA’s.

Like any other Web Application GWT based Application can be understood a combination of Client Side & Server Side Code.

Client-side code

  • Compiled to HTML and JavaScript
  • Uses CSS for formatting
  • Restricted to a subset of Java 1.4 for now
  • Server-side code can be implemented in any language including Java 5 and 6
  • Commonly Java-based GWT RPC servlets are used (more on this later)

Server-Side code

Everything that happens within your web server is referred to as server-side processing. When your application running in the user’s browser needs to interact with your server (for example, to load or save data), it makes an HTTP request across the network using a remote procedure call (RPC). While processing an RPC, your server is executing server-side code.

GWT provides an RPC mechanism based on Java Servlets to provide access to server side resources. This mechanism includes generation of efficent client and server side code to serialize objects across the network using deferred binding.

Tip: Although GWT translates Java into JavaScript for client-side code, GWT does not meddle with your ability to run Java bytecode on your server whatsoever. Server-side code doesn’t need to be translatable, so you’re free to use any Java library you find useful.

Why Use GWT?

  • Creates browser-based GUIs using Swing-like components
  • No need to write HTML which means no scriptlets
  • Uses CSS for formatting and some layout
  • No need to write JavaScript, but can if desired
  • No messy navigation control with redirects and forwards
  • Makes asynchronous server calls which results in a better user experience
  • Ajax features can be implemented without thinking about DOM manipulation
  • Direct DOM manipulation, if needed, is easy to do
  • Can easily pass Java objects between client and server
  • No need to populate Java objects from HTTP data
  • No need to populate HTML forms from Java objects
  • Can throw Java exceptions from the server back to the client
  • Can use Java IDEs like Eclipse, IDEA and NetBeans
  • Created, maintained, enhanced and used by Google
  • recognized for their software expertise
  • One of the few serious Microsoft competitors

For any query related to JAVA based Web Application Development, you can send email to  my email-id ashish@waayoo.com

Fastest Way to Learn With Waayoo

With Waayoo you can learn all these Java based Development Techniques with one of our special package, which combines all things viz Java Software Development + Java Enterprise Development + Rich Internet Applications along with GWT,Spring & Hibernate. For any query you can have a discussion with us at +91 9616420235 or 9807507429, also you can send email to contact@waayoo.com.

Waayoo is offering this Package in Winter, Summer, Regular Trainings at Waayoo Centers.

 

 

05 Dec

Result Scholarship Test – Winter Training Program 2012-13

Hello all, Waayoo is pleased to announce the result of Scholarship Tests conducted at Waayoo centers on various dates for Winter Training Programs 2012-13. Below List specifies every winner with his/her registration-id and full name along with percentage of scholarship awarded.


Scholarship Test Result Winter Training Program 2012-13
S.No. Registration Id NAME Scholarship Score
1 216789723405 Rohit Bhardwaj 100.00%
2 189002348956 Shashank Pandit 100.00%
3 236789098871 Ashwini Singh 100.00%
4 212175453290 Naseem Ansari 100.00%
5 212518902189 Roshini Chaupra 100.00%
6 194137234116 Dilip Pandey 90.00%
7 201801217378 Vipin Tiwari 90.00%
8 189023411761 Nikhil Chaudhary 80.00%
9 221675412817 Pankaj Tomar 80.00%
10 148321087287 Bhawna Sharma 80.00%
11 676216843251 Rahul Rastaugi 80.00%
12 212672341811 Mohd. Shahnawaj 70.00%
13 518238127612 Rohan Verma 70.00%
14 168190431228 Kuldeep Singh 70.00%
15 521739812719 Sidharth Gangwar 70.00%
16 431726183412 Rajneesh Chaudhary 70.00%
17 316173932573 Pawan Yadav 70.00%
18 662891519215 Reena Gupta 70.00%
19 982716209081 Gaurav Mishra 70.00%
20 629300815241 Manoj Nautiyal 60.00%
21 391629520141 Nameer Abbas 60.00%
22 492618372901 Varun Saini 60.00%
23 839148264925 Kamal Verma 60.00%
24 483298456841 Disha Parmar 60.00%
25 618398573514 Rajat Sachan 60.00%
26 433217689013 Alark Mishra 60.00%
27 950112123445 Ravi Kumar Yadav 60.00%
28 481831884613 Preeti Tiwari 50.00%
29 514638864316 Rohit Singh 50.00%
30 197361528271 Virendra Singh 50.00%
31 215163729367 Dinesh Kumar 50.00%
32 264517361881 Udit Patel 50.00%
33 1037281216721 Javed Hussain 50.00%
34 9480112127088 Pradeep Gupta 40.00%
35 1183101671217 Rajan Shukla 40.00%
36 5613826192491 Anant Tripathi 40.00%
37 1592713170207 Vipin Kumar 40.00%
38 10230112123388 Puneet Singh 30.00%
39 9318011241267 Kirti Pal 30.00%
40 8642060310063 Bhupendra Yadav 30.00%
41 10350051066217 Ravi 20.00%
42 10030112122452 Prince Kumar 20.00%
43 98410017011417 Sandeep Rathore 20.00%
44 61418502615826 Harish Dubey 20.00%
45 1103328123517 Umesh Chandra 15.00%
46 7851310584311 Anita Singh 15.00%
47 8481169031218 Kushal Pal 15.00%
48 18549042016941 Rahul Pandey 15.00%
49 11471239024577 Ansul Tyagi 15.00%
50 7104061930306 Pradeep Singh 15.00%

Each Candidate will get the discount in the winter training fee, according to the % of scholarship gained as mention in the above table.

Last date for claiming your scholarship is December 20, 2012. Each candidate will be notified by email about the score of scholarship test.

For any query feel free to call us at +91 9616420235, 9807507429

03 Dec

Matlab & Simulink – Why should you learn?

Matlab & Simulink – A Tool, Platfrom & Language

What is Matlab?

MATLAB (“MATrix LABoratory”) is a tool for numerical computation and visualization  by the The Mathworks, Inc. It provides a single platform for computation, visualization, programming and software development. All problems and solutions in Matlab are expressed in notation used in linear algebra and essentially involve operations using matrices and vectors. A numerical analyst Cleve Moler wrote the first version of Matlab in 1970s. It has since evolved into a successful commercial software package.

Is Matlab Easy? Yes!!!

Matlab relieves you of a lot of the mundane tasks associated with solving problems numerically. This allows you to spend more time thinking, and encourages you to experiment.  Matlab makes use of highly respected algorithms and hence you can be confident about your results. Powerful operations can be performed using just one or two commands.

Who can use Matlab?
The Matlab software environment has a core module (called Matlab) and associated with that are a set of “Toolboxes” that perform specialized computations. 

  • Control System Toolbox.
  • System Identification Toolbox.
  • Neural Network Toolbox.
  • Optimization Toolbox.
  • Robust Control Toolbox.
  • Signal Processing Toolbox.
  • Image Processing Toolbox
  • Spline Toolbox.
  • SIMULINK

The use of Matlab is more appropriate in the following cases:

  • If you have to evaluate large amounts of data that are acquired automatically by means of computers and other technical appliances. Examples are psychophysical experiments (EEG, fMRI, eye tracking, galvanic skin resistance measurements and the like), internet questionnaires, or log file analyses. In these applications, it is way too laborious to manually preprocess every single data set with a spreadsheet software and export it to a statistics software package. Thus, automating this process by means of a Matlab program will be profitable.
  • Moreover, the application of programmed data evaluation routines is a more efficient way if the evaluation procedure has to be changed over and over again to ‘fine-tune’ it. Re-calculating the whole data set with the changed procedure is then done in a snap.
  • Matlab offers a plethora of graphics functions, dedicated statistics functions and other interesting features which are not available in other software packages, or only in limited and unflexible implementations.
  • Matlab allows for the programming of user-friendly interfaces for data evaluation programs that are repeatedly used. Thus, complicated data evaluation procedures can also be performed by collaborators who are less skilled with the computer.
Certainly, you can write data evaluation programs in other programming languages such as Visual Basic, C++, or Java, but Matlab is a language designed especially for processing, evaluating and graphical displaying of numerical data.

How it work?
In Matlab the basic data element is a matrix, so if you need a program that manipulates array-based data it is generally fast to write and run in MATLAB (unless you have very large arrays or lots of computations, in which case you’re better off using C or Fortran).

Typical data processing workflow

Below you see the schematic diagram of a typical project, showing which steps are often realised with Matlab.

 Application Examples

1.) Image Processing Application with Matlab

 2.) Matlab for Communication Testing & Simulations

3.) Control System PID DC-Motor Control with Matlab

How to Learn using Matlab with Project oriented Approach?

The best way of learning any new Technology is Learn by Doing approach. With waayoo.com you can learn Matlab for Image Processing, Matlab for Communication Toolbox or Matlab & Simulink for all with practical example projects (Free project development support for future) at Lucknow & NCR centers. 

Matlab Training Programs by Waayoo are available in all Sessions viz Winter Training, Summer Training, Industrial Training & Regular Programs. To invite Waayoo for Workshop in your institute you can contact Waayoo at contact@waayoo.com or call at +91 9616420235, 9807507429. For more information visit www.waayoo.com

01 Dec

Android Application & System Programming – Why & How

Android Mobile Application Development & System Programming – An Article by Waayoo.com

What is Android?

Android is the world’s most popular mobile platform. Android is itself Linux-based Operating System specially designed for Smartphones and Tablet computers. Android is being developed by Google and Open Handset Alliance. Important thing is that, Android is an open source project released under Apache License. Unveiled in 2007 Android is being maintained and developed  further  by Android Open Source Project(AOSP) supported by Google. Android provides a huge scope for development of innovative apps and already has a large community of developers writing applications that extend the functionality of devices, written primarily in Java language with Android API and SDK provided by Google.

Market Trend
Google supplies its mobile platform, Android, to a large number of mobile manufacturers. Notable amongst them are Samsung and HTC apart from numerous other smaller manufacturers.  With Samsung becoming the largest seller of Smartphones across the globe, so has Android become the largest platform being used across the globe.

World’s leading IT research and advisory company Gartner says that the Android mobile phone market is growing at an impressive rate of 32% every month and the world has already seen 50,000 plus Android apps being developed.

Android‘s overall smartphone market share has jumped to 72.4% in Q3 2012, up from 52.5% in the same period last year

So What & How can I develop Android Applications?

As a smartphone operating system android open source project provides you everything you require to develop applications based on android mobile devices. In short its a small computing device in your hand and you can use it  anywhere you can. There can be numerous applications  like below –

  • Controlling a Robot right from your Android Phone by using its touchscreen and sensors
  • Controlling Home Appliances from your Android Phone
  • Human Body Monitoring System
  • Bluetooth based multiplayer Games like Chess, Racing or other
  • Barcode Scanner for your products
  • Image Processing or Vision based Applications
  • Android based Oscilloscope
What should you know to develop Android Applications?
New learners often face a problem that what options(language, tools) are available to start developing applications for android phone. The main objective of this article and future series are to provide you information about all available possibilities to get started with android application development so that you can decide which option is better and more easy to start developing your own application for android.
The options available are -:
  1. Java (For developers familiar with Java)Android Application can be developed using Java language and Apps runs on Android Platform with the help of a virtual machine (Dalvik VM) similar to that of JVM
  2. flex (Android applications in Flash)
  3. C or C++ (native applications – applications that run directly on hardware- requires Android NDK to build applications)
Android System Programming
Android System Level Programming is more about changing in Kernel Sources, Building customize device driver, compiling, loading and booting Android kernel on ARM based  embedded development board and related stuffs. To program at system level you should have fine knowledge in Linux, C/C++, Java, JNI and Embedded things.
For your Applications – Depending on the kind of application you should decide to use Java or C/C++.I’d use C/C++ for anything that requires above average computational power and games — Java for the rest.



How can you Learn All the things just at one place ? Yes Waayoo is there for you
Waayoo comes up with a very exciting Android Training Package for everybody.
This package provides you all things Software & Hardware tools and kits at one place.
Now you can develop Android Mobile Applications in Java and Also Android System Programming by building your Android System from scratch on Embedded Platforms.
Package includes Free Java and Linux Sessions for those who hadn’t done any work on Java and Linux so far.
This winter this special Waayoo package can help you get some heat!!!
Seats are limited in number, so you can have a query with waayoo on +91 9616420235, 9807507429. or send email to contact@waayoo.com
Visit us at http://waayoo.com Find us on facebook at www.facebook.com/waayoodotcom