Introduction to Enterprise Architecture (EntrArch) part 2

I have recently completed the Introduction to Enterprise Architecture on Open2Study. This is my first experiment into the world of MOOCs (Massively Open Online Courses) with Open2Study and overall my experience was very much a positive one.

The course itself was 4 weeks and included a number of short videos as content and multiple choice quizzes as assessment. You needed to get over 60% in all 4 quizzes (each containing only 5 questions) to complete the course. While enterprise architecture might not be the most exciting topic, instructor Craig Martin manages to keep content interesting and successfully ties together all of the content into a series of interested videos.

I found that I needed to take notes through each of the videos in order to have success answering the quizzes at the end of each module without googling the answer to each question.

The course URL can be found at: https://learn.open2study.com

If you are interested, you can watch the first topic of module 1 below.

Introduction to Enterprise Architecture (EntrArch)

Massively Online Open Courses (MOOCs) are a big thing in my sector, and as such I thought it was about time I actually enrolled in one.

I’ve enrolled in Introduction to Enterprise Architecture through open2study.com. Open2study is site offering free 4 week introductory courses and is an initiative of Open Universities Australia (http://www.open.edu.au/).

I’ve only watched the first half of the first module, but in all, I’m pretty excited to be finding out a little more about Enterprise Architecture.

Link to course:
https://www.open2study.com/subjects/introduction-to-enterprise-architecture

Application development life cycle

I am a fan of the traditional waterfall model for application development. I know agile development is the current hype within the software development community, and like all programmers, I hate documentation, but there is something elegant in creating a perfect design for an application before you even fire up your favourite IDE. Below is an example of my typical application development life cycle…

Application development life cycle
1. Requirements! Gather requirements from the client and create a requirements specification.

2. Design! From the confirmed requirements, begin to creation a technical design for the application.

3. Implementation! Development includes looking through the current range of applications and applications templates and picking a similar one as a template. Commit the copy into SVN as the trunk of a new project. From here, start designing your new building block to fit with the technical design. This may involve looking through the any APIs, tag libraries and web services as well as any required third party services.

4. Quality Assurance! Code review and testing.

5. Release! Change control (follow any ITIL processes), Communication and eventually deployment into production.

6. Maintenance! Repeat the above steps for enhancements and bug fixes.

Jira: An issue tracker for developers

Like most programmers, I’ve used a range of issue tracking tools over the years to track bugs and enhancement requests in my applications and to be blunt, most of these have been terrible. Usually, I’ve been forced to use a new tool for a few weeks, then moved back to a trustworthy excel file buried deeply in a corporate network drive to keep track of any bugs I deemed worthy of tracking. This was until I discovered a product called Jira which is created by Australian company Atlassian. Jira is an issue tracking tool designed specifically for IT projects and is designed with developers in mind.

The tool itself is completely customisable. You can create issues, tasks, enhancements or something completely custom and then build specific queries to search for these items. A good example is you could create a project and have a range of sub components within that project, each with its own list of bugs and enhancements. It even has a range of agile development tools if this is what you are after. Better yet, it has a way to track issues with specific builds of an application, and even has a way to integrate itself with Bamboo (atlassian’s continuous code integration tool) and wiki (attlassian’s wiki tool).

It features some handy import tools, so if you are already using something else, you can use a built in import plugin or as long as you can export it as a csv you can use the in built csv importer to move everything into Jira.

The link below takes you to the Jira website where you can purchase various licenses of the tool depending on your needs.

Link:
http://www.atlassian.com/software/jira

Tutorial 4: Importing classes to use within your JSP pages

This tutorial shows how to use an external class within your JSP pages to perform complex logic.

Why import classes?
Many beginners, including myself, feel tempted to put all of our code within code blocks directly on the JSP page in scritplets. While this does work, soon your JSP files will become enormous and hard to manage. The beauty of Object Orientated languages is that you can modularise all of your code into objects and then import them into many different parts of your applications. There are a range of benefits to doing this, including limiting code reuse (you can just import and call the same object) and abstraction (you can use other peoples objects, and assuming they are well documented, you don’t necessarily have to understand the complex innerworkings of the object, but just what it requires in its methods.)

For this example, I have imported the java.util.Random class which is used to generate a random number. java.util.Random is part of the core java API and can be imported into any of your classes or JSP files where needed.

An import statement in JSP looks like this:

<%@ page import="java.util.Random" %>

1. Below is an example of using this class to create a single random number. Simply put this into your own JSP page and include the above import and you should also be able to output a random number.

<%
Random random = new Random();
int randomNumber = random.nextInt(100);
%>

One random number:<%= randomNumber %>

2. To make things a little more interesting, the below example generates 50 random numbers by using a for loop.

<%
Random random2 = new Random();

for(int i=0;i<50;i++){
	int randomNumbers = random2.nextInt(100);
	out.print(i+") "+randomNumbers+"<br>");
	
}
%>

Full source code is below to provide a little more detail on where to include the import statement in the context of a full JSP page.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.Random" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test03</title>
</head>
<body>

1. below will generate ONE random number<br>


<%
Random random = new Random();
int randomNumber = random.nextInt(100);
%>

One random number:<%= randomNumber %>


<br><br>

2. below will generate FIFTY random numbers<br>

<%
Random random2 = new Random();

for(int i=0;i<50;i++){
	int randomNumbers = random2.nextInt(100);
	out.print(i+") "+randomNumbers+"<br>");
	
}
%>

</body>
</html>

Oracle Corporation: Stop bundling Ask Toolbar with the Java installer

I recommend everyone to sign this petition.

Source: https://www.change.org/petitions/oracle-corporation-stop-bundling-ask-toolbar-with-the-java-installer

Java is a software package beloved by users and developers all over the world. Unfortunately Oracle Corporation decided to sacrifice the integrity of Java by bundling Ask Toolbar with Java in order to make few pennies per download in profit.

It is demeaning for a respected corporation such as Oracle to resort to such techniques only to make a small profit. Ask Toolbar hijacks user’s default search engine and forwards them to Ask search engine which resorts to various misleading advertisement techniques in order to confuse the unsuspecting users into clicking on their paid ads.

More information about this deception can be found in this article:
http://www.zdnet.com/a-close-look-at-how-oracle-installs-deceptive-software-with-java-updates-7000010038/

Specifically:

– When you use Java’s automatic updater to install crucial security updates for Windows , third-party software is always included. The two additional packages delivered to users are the Ask Toolbar and McAfee Security Scanner.

– With every Java update, you must specifically opt out of the additional software installations. If you are busy or distracted or naïve enough to trust Java’s “recommendation,” you end up with unwanted software on your PC.

– IAC, which partners with Oracle to deliver the Ask toolbar, uses deceptive techniques to install its software. These techniques include social engineering that appears to be aimed at both novices and experienced computer users, behavior that may well be illegal in some jurisdictions.

– The Ask search page delivers inferior search results and uses misleading and possibly illegal techniques to deceive visitors into clicking paid ads instead of organic search results.

We, the users and Java programmers, hereby demand that the Oracle Corporation remove Ask Toolbar from the Java installer and not bundle any other 3rd party software with Java in the future.