Saturday, September 1, 2012

Roadmap for learning Enterprise Java

Throughout the contest we will be posting tutorials, tips and tricks on various tools and technologies used in developing professional applications. Below is a list with short descriptions on what topics we will be covering in detail-
  1. Essential Java Concepts
    For students with no experience at all or very little experience with Java, we'll be posting short presentations and/or video tutorials under a series titled "Java 101". And for those already coding in Java, we'll discuss on some very essential concepts needed in Java application development which are:
    • Generics
    • Java Collections Framework (List, Set, Map)
    • Collections, Arrays and Math classes
    • Comparable, Comparator
    • String Operations
    • Enums
    However, you can always learn all these from books/Internet. An excellent and easy-to-understand tutorial on these as well as whole Java in general is the Sun Oracle Java Tutorial.

  2. HTTP, HTML-CSS-JavaScript
    HTTP protocol is the heart of Internet communications. Developing web applications without knowing how servers interact with clients is like buying a sunglass for a blind person! HTML, CSS, JavaScript are the core technologies for building client-side web pages. Needless to say that you can't live in the web development world without them. :) We don't want to post detailed tutorials on these as they're quite common topics learned by the students. We'd rather post tips & tricks on these topics. However, in case you want to learn those in depth, you can always jump to W3Schools.

  3. Development Tools & Techniques (Part 1) - IDE, Application Server, Debugging etc. Using an IDE (Integrated Development Environment) is a must to speed-up development time. Knowing how to debug your application using the IDE will save you from tremendous frustration. We'll try to make your coding life easier and enjoyable by informing you of various tips and tricks for working with IDEs. Application server is where your Java web application is run. We'll discuss about the basics (i.e. what/why) of application servers here. How to start/stop/manage the server will be discussed later on when we'll be discussing Enterprise Java Development.

  4. Database Design, SQL and JDBC
    We're pretty much sure that you've heard about Entity-Relationship Model/Diagram. No? Well, it's some kind of representation of Relational Databases. However, at present UML (Unified Modeling Language) is a de-facto standard of modeling virtually anything. So, we'll discuss about database designing with UML (along with ERD, so that you can see how your textbook on DBMS fits in the present real world). We'll also cover database normalization side-by-side of database designing, too. SQL is the widely-used language for querying relational databases. We'll post a short tutorial on SQL so that you can get a hands-on working knowledge on database querying. Finally, JDBC is a database driver for Java to connect to a database system. Don't know what on earth a "database driver" means? Don't worry, you'll get to know soon... :)

  5. Coding Best Practices and Writing Good Code
    We all are familiar with the game "Minesweeper". Let's say you're looking at a code fragment of the game below. Can you make anything out of it?
    public List getThem() {
       List list1 = new ArrayList();
       for (int[] x : theList) {
          if (x[0] == 4) 
             list1.add(x);
       }
       return list1; 
    }
    
    Compare it with the code below which does exactly the same thing as above:
    public List getFlaggedCells() {
       List flaggedCells = new ArrayList();
       for (Cell cell : gameBoard) {
          if (cell.isFlagged()) 
             flaggedCells.add(cell);
       }
       return flaggedCells; 
    }
    
    Now it makes some sense, doesn't it? We'll explore various techniques on writing readable code. Remember:
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." ~Martin Fowler

  6. Development Tools & Techniques (Part 2) - Git, Ant, Maven
    Ever wondered - "I wish there were a simpler way of merging my friend's code with mine without going through all the hassles of finding exactly which lines he added/deleted/modified..."? Cheer up, Git is to the rescue! We'll teach you a basic work-flow of Git after which you will wonder "how on earth we did all those group assignments without Git??" If you're curious enough, you can take a look at Git Community Book and GitHub.
    Ant and Maven are build tools. We know you're scratching your head right now trying to figure out what a build tool is. You'll learn about them when we'll discuss Enterprise Java Development later on. Meanwhile, you can take a peek at Ant from the Ant Tutorial.

  7. Enterprise Java Development with Spring Framework
    This is the most complex among all the topics. Scared?? Then know that that's going to be the best part as you're going to have fun learning it... :)

  8. Application Testing & Test-Driven Development
    Finally, we'll briefly discuss a few techniques for automated testing of applications and expose the world of Test-Driven Development before you.
That's pretty much all. So, stay with us!

2 comments:

  1. this blog guide about enterprise java development nice information in this post and any other news this keyword visit this sitesHow performance of Java enterprise apps can be enhanced?

    ReplyDelete
  2. Very Nice Blog Post info about enterprise java development many more information visit to the post link Enterprises taking Java application development seriously- But why?

    ReplyDelete