Showing posts with label Java. Show all posts
Showing posts with label Java. Show all posts

Monday, 19 October 2015

Everything About Cloud Computing


Introduction to AWS Cloud Services
What is cloud computing?
History of cloud
Different vendors for Cloud
Cloud main objectives
IAAS overview
PAAS overview
SAAS overview
Why AWS Cloud
AWS Architecture
Features of AWS cloud

AWS Console:
AWS Management Console
AWS plugins
AWS CLI
AWS Blogs/Documentation

AWS Web Services

1. Amazon Elastic Compute Cloud (EC2) (Complete)

Different instance types
AMI’s
Volumes
Snapshots
EIP’s
Key pairs
Security groups
Network Interfaces
Load balancers
Auto scaling
Tags

2. AWS S3 

What is s3?
Buckets & objects
Pre-signed URL
Permissions
Distributions
Relation between Cloud front, S3 & glacier

3. VPC 

VPC basics
Public subnets & private subnets
Network ACL’s
Difference between Network ACL & Security groups
Route tables
Internet gateways
DHCP option sets
Launch Servers with VPC.

4. IAM  
Basics of AWS permissions.
Roles
Profiles
Policies
MFA authentication.
User permissions
Groups based
AWS key & Secret Key

5. Dynamo DB 
What is no sql technologies
Dynamo DB capacity
Create tables & do a sample projects.

6. Route 53 
Hosted zone
Types(Cname, Ip address, MX )
Change references to meet CName

7. SES 
Email services
SMTP Servers

8. SQS
Queue creations
Retention periods
Dead letters

9. SNS
Topic
Subscriptions
Notification & Applications

10. Cloud Watch 
Different Metrics
Monitoring
Custom metrics

11. Cloud Formation 
Cloud formation templates
Complete resources & explanation with sample templates

12. Cloud Front 

13. Code deploy
Why Code deploy
How to apply patch with Code Deploy

14. Workspaces
15. Glacier
16. Cloud Trail
17. AWS Config

Network Concepts:
Active directory
Computer name
Network commands

Languages:
AwsCli commands
Python
PowerShell

Monday, 10 August 2015

Benefits of using Java over C++?

C++ has been substantially improved since Java was first implemented, so some of the original advantages of Java over C++ have been reduced.  Strong typing is now much more effective, and less trivially defeated, in C++.

  • However, some extensive advantages of Java remain:
  • Garbage collection built into the language.
  • Synchronization built into the language
  • Threading built into the language
  • A lot more debugging information rolled into the binaries, making crashes easier to debug
  • Late linking makes some development and deployment smoother.
  • Platform-independent binaries, and rigorous code checking, make it possible to safely deploy code within another process (e.g. user-supplied builtins, application servers)

Some libraries can be obtained for C++ to overcome some of these, though generally in a platform-dependent way, and since libraries will vary from project to project it's harder to reuse code from different paradigms.  

C# incorporates a lot of Java's concepts, fixing up a few of Java's mistakes, and the two languages are actually pretty similar.  C++ looks increasingly Java-like over time; the latest round even begins to introduce a garbage collection, multithreading, a real null, etc.

Java: Advantages and Disadvantages of Java Application Development

Java is considered as the best application development language. It is an object-oriented programming language which is used to create efficient quality applications for both computers and mobile phones. It was first introduced in 1995 by James Gosling, Sun Micro Systems. Java language has been developed after including the concepts of various languages like C, C++, etc. It is a versatile and platform independent language. It can be used on any platform including Windows, Android, iOS, Linux, etc. Apart from this, Android, the product of techno giant Google Inc.
completely relies on Java application development for apps development.

Advantages of Java Application development:

Simplicity: Java provides a very easy interface for the users and developers. It has been considered as the simplest language when compared to other programming languages. Java has eliminated the use of pointers and also replaced the complexity of multiple inheritances in C++ with a simple structure and that structure is called interface.

Portability and Platform Independent Behavior: Java is platform independent. It provides the facility to "Write Once and Run Anywhere". The applications developed by using this language can be run on any hardware and software platform. The Java applications are supported by every Java compatible browser.

Allocation: Java has the feature of Stack allocation system. It helps the data to be stored and can be restored easily. Stack management is actually an arrangement process of objects in LIFO (Last In First Out) management system. This management system makes it easy to store and restore any object. Unlike other programming languages where the developer needs to allocate data and collect garbage, Java has the facility of automatic garbage collection and memory allocation.

Distributiveness: Distributive computing is basically the platform where two or more computers can work together on a network. Java has a great networking capability. Networking on Java is too easy that writing a networking program feels like sending and receiving between files.

Disadvantages of Java Application development:

Performance: Java is comparatively slower and takes more memory space than the other native programming languages like C and C++.

Single Paradigm Language: Java is actually predominantly a single paradigm language but in the newer versions of Java like Java 5.0 and onwards, the procedural paradigm is made batter by adding some static imports in it.

Enumeration Types and Local Constants: Java doesn't have the enumeration types, but they can be stimulated by using a series of constant instead of them.
All the above advantages and disadvantages are brought to you by the experienced Java application developers, to provide you a better analytical view of Java.

10 Reasons to Learn Java Programming Language and Why Java is Best

Java is one of the best programming language created ever, and I am not saying this, because I am a passionate Java developer, but Java has proved it in last 20 years. Two decades is a big time for any Programming language, and Java has gained strength every passing day. Though there are times, when Java development slows down, but Java has responded well. Earlier with ground breaking changes in form of Enum, Generics, and Autoboxing in Java 5, performance improvement with Java 6, and Google's choice of language for Android apps development, keeps Java as front line programming language. Many graduate often ask me, which is the best programming language, which language should we learn, shall I learn Java etc. Well, it depends upon definition of your best programming language, if it's popularity then obviously Java outscore every one, even C, which is there for almost 50 years. If it in terms of Job opportunities, again Java outscore every one. You can get tons of Jobs opportunity by learning Java programming language, you can develop core Java based server side application, J2EE web and enterprise applications, and can even go for Android based mobile application development. So if you are not coming from C and C++ background, and want to learn your first programming language, I will suggest to choose Java. In this article, I will share my list of reason, and Why you should learn Java programming and Why I think Java is best programming language created ever.

Why you should learn Java Programming Language

Why Java is best Programming language - why learn JavaHere is my list of 10 reason, which I tell anyone who ask my opinion about learning Java, and whether Java is best programming language in terms of opportunities, development and community support.

1) Java is Easy to learn
Many would be surprised to see this one of the top reason of learning Java, or considering it as best programming language, but it is. If you have steep learning curve, it would be difficult to get productive in short span of time, which is the case with most of professional project. Java has fluent English like syntax with minimum magic characters e.g. Generics angle brackets, which makes it easy to read Java program and learn quickly. Once a programmer is familiar with initial hurdles with installing JDK and setting up PATH and understand How Classpath works, it's pretty easy to write program in Java.


2) Java is an Object Oriented Programming Language
Another reason, which made Java popular is that it's an Object Oriented Programming language. Developing OOPS application is much easier, and it also helps to keep system modular, flexible and extensible. Once you have knowledge of key OOPS concept like Abstraction, Encapsulation, Polymorphism and Inheritance, you can use all those with Java. Java itself embodies many best practices and design pattern in it's library. Java is one of the few close to 100% OOPS programming language. Java also promotes use of SOLID and Object oriented design principles in form of open source projects like Spring, which make sure your object dependency is managed well by using dependency Injection principle.


3) Java has Rich API
One more reason of Java programming language's huge success is it's Rich API and most importantly it's highly visible, because come with Java installation. When I first started Java programming, I used to code Applets and those days Applets provides great animation capability, which amazes new programmer like us, who are used to code in Turbo C++ editor. Java provides API for I/O, networking, utilities, XML parsing, database connection, and almost everything. Whatever left is covered by open source libraries like Apache Commons, Google Guava and others.


4) Powerful development tools e.g. Eclipse , Netbeans
Believe it or not, Eclipse and Netbeans has played huge role to make Java one of the best programming language. Coding in IDE is pleasure, especially if you have coded in DOS Editor or Notepad. They not only helps in code completion but also provides powerful debugging capability, which is essential for real world development. Integrated Development Environment (IDE) made Java development much easier, faster and fluent. It's easy to search, refactor and read code using IDEs. Apart from IDE, Java platform also has several other tools e.g.. Maven and ANT for building Java applications, decompilers, JConsole, Visual VM for monitoring Heap usage etc.


5) Great collection of Open Source libraries
Open source libraries ensures that Java should be used everywhere. Apache, Google, and other organization has contributed lot of great libraries, which makes Java development easy, faster and cost effective. There are framework like Spring, Struts, Maven, which ensures that Java development follows best practices of software craftsmanship, promotes use of design patterns and assisted Java developers to get there job done. I always recommend to search for a functionality in Google, before writing your own code. There is good chance that, it's already coded, tested and available for ready to use.


6) Wonderful community support
Community is the biggest strength of Java programming language and platform. No matter, How good a language is, it wouldn't survive, if there is no community to support, help and share there knowledge. Java has been very lucky, it has lots of active forums, Stackoverflow, open source organizations and several Java user group to help everything. There is community to help beginners, advanced and even expert Java programmers. Java actually promotes taking and giving back to community habit. Lots of programmers, who use open source, contribute as commiter, tester etc. Expert programmer provides advice FREE at various Java forums and stackoverflow. This is simply amazing and gives lot of confidence to a newbie in Java.


7) Java is FREE
People like FREE things, Don't you? So if a programmer want to learn a programming language, or a organization wants to use a technology, COST is an important factor. Since Java is free from start, i.e. you don't need to pay anything to create Java application. This FREE thing also helped Java to become popular among individual programmers, and among large organizations. Availability of Java programmers is another big think, which makes organization to choose Java for there strategic development.


8) Excellent documentation support - Javadocs
When I first saw Javadoc, I was amazed. It's great piece of documentation, which tells lot of things about Java API. I think without Javadoc documentation, Java wouldn't be as popular, and it's one of the main reason, Why I think Java is best programming language. Not every one has time and intention to look at code to learn what a method do or how to use a class. Javadoc made learning easy, and provide an excellent reference while coding in Java. With advent of IDE, you don't even need to look Javadoc explicitly in browser, but you can get all information in your IDE window itself.


9) Java is Platform Independent
In 1990s, this was the main reason of Java's popularity. Idea of platform independence is great, and Java's tag line "write once run anywhere" was enticing enough to attract lots of new development in Java. This is still one of the reason of Java being best programming language, most of Java applications are developed in Windows environment and run in UNIX platform.


10) Java is Everywhere
Yes, Java is everywhere, it's on desktop, it's on mobile, it's on card, almost everywhere and so is Java programmers. I think Java programmer out number any other programming language professional. Though I don't have any data to back this up, but it's based on experience. This huge availability of Java programmers, is another reason, why organization prefer to choose Java for new development than any other programming language.

Having said that, programming is very big field and if you look at C and UNIX, which is still surviving and even stronger enough to live another 20 years, Java also falls in same league. Though there are lot of talk about functional programming, Scala and other JVM languages, but they need to go a long way to match community, resources and popularity of Java. Also OOPS is one of the best programming paradigm, and as long as it will be there Java will remain solid.

Resources to learn Java programming

Now, if you decide to learn Java programming, here are couple of resources, which you can take a look. I personally suggest picking a book, because they are almost always well written and catered for beginners. I personally recommend Head First Java to beginners, that's great book to start, if you don't know much about Java. You can also take a look at official Java tutorials offered by Oracle. These tutorials are comprehensive and covered almost all important details of Java programming language. Further you can use Google along with your learning. If you need to understand a particular concept, term or any issue with Java, Google can point you to specific resource. There are lots of blogs, tutorial sites, and free video tutorials on internet to learn Java programming.

Where is Java used in Real World?

1) Android Apps
If you want to see where Java is used, you are not too far away. Open your Android phone and any app, they are actually written in Java programming language, with Google's Android API, which is similar to JDK. Couple of years back Android has provided much needed boost and today many Java programmer are Android App developer. By the way android uses different JVM and different packaging, as we have seen in our previous article about how Android app works, but code is still written in Java.


2) Server Apps at Financial Services Industry
Java is very big in Financial Services. Lots of global Investment banks like Goldman Sachs, Citigroup, Barclays, Standard Charted and other banks use Java for writing front and back office electronic trading system, writing settlement and confirmation systems, data processing projects and several others. Java is mostly used to write server side application, mostly without any front end, which receives data form one server (upstream), process it and sends it other process (downstream). Java Swing was also popular for creating thick client GUIs for traders, but now C# is quickly gaining market share on that space and Swing is out of its breath.


3) Java Web applications
Java is also big on E commerce and web application space. You have a lot of  RESTfull services being created using Spring MVC, Struts 2.0 and similar frameworks. Even simple Servlet, JSP and Struts based web applications are quite popular on various government projects. Many of government, healthcare, insurance, education, defense and several other department have their web application built in Java.


4) Software Tools
Many useful software and development tools are written and developed in Java e.g. Eclipse, InetelliJ Idea and Netbans IDE. I think they are also most used desktop applications written in Java. Though there was time when Swing was very popular to write thick client, mostly in financial service sector and Investment banks. Now days, Java FX is gaining popularity but still it is not a replacement of Swing and C# has almost replaced Swing in Finance domain.


5) Trading Application
Third party trading application, which is also part of bigger financial services industry, also use Java. Popular trading application like Murex, which is used in many banks for front to bank connectivity, is also written in Java.


6) J2ME Apps
Though advent of iOS and Android almost killed J2ME market, but still there is large market of low end Nokia and Samsung handset which uses J2ME. There was time when almost all games, application, which is available in Android are written using MIDP and CLDC, part of J2ME platform. J2ME is still popular on products like Blu-ray, Cards, Set top boxes etc. One of the reason of WhatsApp being so popular is because it is also available in J2ME for all those Nokia handset which is still quite big.


7) Embedded Space
Java is also big in the embedded space. It shows how capable the platform is, you only need 130 KB to be able to use Java technology (on a smart card or sensor). Originally Java was designed for embedded devices. In fact, this is the one area, which was part of Java's initial campaign of "write once, run anywhere" and looks like it is paying up now.


8) Big Data technologies
Hadoop and other big data technologies are also using Java in one way or other e.g. Apache's Java-based HBase and Accumulo (open source), and  ElasticSearch as well. By the Java is not dominating this space, as there are technologies like MongoDB which is written in C++. Java has potential to get major share on this growing space if Hadoop or ElasticSearch goes big.


9) High Frequency Trading Space
Java platform has improved its performance characteristics a lot and with modern JITs, its capable of delivering performance at C++ level. Due to this reason, Java is also popular on writing high performance systems, because Though performance is little less compared to native language, but you can compromise safety, portability and maintainability for more speed and it only takes one inexperienced C++ programmer to make an application slow and unreliable.


10) Scientific Applications
Nowadays Java is often a default choice for scientific applications, including natural language processing. Main reason of this is because Java is more safe, portable, maintainable and comes with better high-level concurrency tools than C++ or any other language.


In 1990s Java was quite big on Internet due to Applet, but over the years, Applet's lost its popularity, mainly due to various security issues on Applet's sand boxing model. Today desktop Java and Applets is almost dead. Java is by default Software industries darling application development language, and given its heavy usage in financial services industry, Investment banks and E-commerce web application space, any one learning Java has bright future ahead of him. Java 8 has only reinforced the belief that Java will continuing dominating software development space for years to come. 

Why Choose Java?

Java was designed with a few key principles in mind:

Easy to Use: The fundamentals of Java came from a programming language called c++. Although c++ is a powerful language, it was felt to be too complex in its syntax, and inadequate for all of Java's requirements. Java built on, and improved the ideas of c++, to provide a programming language that was powerful and simple to use.
Reliability: Java needed to reduce the likelihood of fatal errors from programmer mistakes. With this in mind, object-oriented programming was introduced. Once data and its manipulation were packaged together in one place, it increased Java's robustness.

Secure: As Java was originally targeting mobile devices that would be exchanging data over networks, it was built to include a high level of security. Java is probably the most secure programming language to date.
Platform Independent: Programs needed to work regardless of the machine they were being executed on. Java was written to be a portable language that doesn't care about the operating system or the hardware of the computer.

The team at Sun Microsystems were successful in combining these key principles, and Java's popularity can be traced to it being a robust, secure, easy to use, and portable language.

Who Created Java?

In the early nineties, Java was created by a team led by James Gosling for Sun Microsystems. It was originally designed for use on digital mobile devices, such as cell phones. However, when Java 1.0 was released to the public in 1996, its main focus had shifted to use on the Internet. It provided more interactivity with users by giving developers a way to produce animated webpages . Over the years it has evolved as a successful language for use both on and off the Internet. A decade later, it's still an extremely popular language with over 6.5 million developers worldwide.

What Is Java?

Java is a computer programming language. It enables programmers to write computer instructions using English based commands, instead of having to write in numeric codes. It's known as a "high-level" language because it can be read and written easily by humans. Like English, Java has a set of rules that determine how the instructions are written. These rules are known as its "syntax". Once a program has been written, the high-level instructions are translated into numeric codes that computers can understand and execute.

What is Java technology and why do I need it?

What is Java?
Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing.

MORE TECHNICAL INFORMATION

What will I get when I download Java software?
The Java Runtime Environment (JRE) is what you get when you download Java software. The JRE consists of the Java Virtual Machine (JVM), Java platform core classes, and supporting Java platform libraries. The JRE is the runtime portion of Java software, which is all you need to run it in your Web browser.

What is Java Plug-in software?
The Java Plug-in software is a component of the Java Runtime Environment (JRE). The JRE allows applets written in the Java programming language to run inside various browsers. The Java Plug-in software is not a standalone program and cannot be installed separately.

I have heard the terms Java Virtual Machine and JVM. Is this Java software?
The Java Virtual Machine is only one aspect of Java software that is involved in web interaction. The Java Virtual Machine is built right into your Java software download, and helps run Java applications.

 

Copyright @ 2015 Software Technology News.