eNewsletter 3
Volume X, Number 10, October, 2010



Send TechConnections to a Friend now! Forward to a Friend!

Happy October!


Which means Happy Halloween! This is still one of the best holidays, no matter how old we get. And, from a retail point of view – the gurus (whomever they are) are predicting a great Halloween followed by a lukewarm, at best, Christmas/Hanukkah. It's fourth quarter, and that means we get to watch the last minute product releases and predictions for next year. I love fourth quarter….

And, apropos of nothing, this gem from desktop support made me laugh aloud. So I'm sharing:

Tech Support: "I need you to right-click on the Open Desktop."
Customer: "Ok."
Tech Support: "Did you get a pop-up menu?"
Customer: "No."
Tech Support: "Ok. Right click again. Do you see a pop-up menu?"
Customer: "No."
Tech Support: "Ok, sir. Can you tell me what you have done up until this point?"
Customer: "Sure, you told me to write 'click' and I wrote 'click'."

Here's the schedule or you can view the complete schedule on our Website:

CSTA Web sessions:
September 29, 30
November 3, 4
December 15, 16

UITJ (Understanding IT Jobs) Web sessions:
September 30
December 16

TR Web sessions:
October 13
December 1

Keep in touch - I love hearing from you - and keep up with technology!

Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TechKnowledge


Web Development

As every software system now has – or is getting – a Web front-end, Web development is part of every IT project. The makes understanding the concepts, standards, skills, and techniques used in Web development necessary for all of us.

Starting with the very basics, everything on the Web is client-server. This means there are two parts to Web development; the front-end (client) and the back-end (server). It's usually different people who do the different development – and part of the reason is that different skills are needed.

Client-side skills. This means writing the programs that support the Web site and run on the client computer, which is a desktop, laptop, netbook, smartphone, etc. These programs run under a browser – Internet Explorer, Firefox, Chrome, Safari, Opera. The only code that can be used is code that the browser supports. This starts with HTML (HyperText Markup Language), which is at the heart of all Web pages. HTML is great, but it's static. If all you want to do is build a page of text, you need nothing else. Looking at just a few Web sites shows us that we've gone way past these simple sites. Just to start, we now have sound and animation on our Web pages. This is why we download Flash and Silverlight (often referred to as RIA [Rich Internet Applications] development) and why client-side developers need to know these programs. But Web sites have multiple pages – so these developers need skills including :
XHTML (eXtensible HyperText Markup Language) which creates Web pages that can be displayed on desktops, laptops, netbooks, smartphones, etc.;
DHTML (Dynamic HTML) Allows the content of a page to change each time the user clicks, drags or points to elements on the page;
CSS (Cascading Style Sheets) which can repeat headers on each page;
XSL (eXtensible Style Language) which will make sure the company name is always bold and in red;
XML (eXtensible Markup Language) which transfers information between the server programs and the Web page;
Flex creates the Flash code;
and more.

Ajax technology has become increasingly important. This is the technology that allows you to change the content of a Web page from the browser without having to go back to the server. Popular toolkits include functions such as animation effects, drag-and-drop functions, a calendar-based date selector, a time selector, and a clock. Various toolkits include Dojo Toolkit, GWT (Google Web Toolkit), and JQuery.

Server-side skills. This means writing the programs that will run on the server under an operating system, actually any development tool can be used. Even so, certain languages and tools have become popular. There are a lot of server-side programs that we don't even think of. For example, the program that counts the number of visitors must run on the server to capture all the visitors on all the clients. This program is probably written in Javascript, but could have been written in Java/Java EE, Perl, Python, PHP or Ruby/Ruby on Rails. The languages are supported by tools; JSF (JavaServer Faces) is also popular – this tool provides a library of reusable user interface components for functions such as error control, input validation, string conversion and formatting, and page flow. Server-side developers also use development frameworks such as Struts, Spring and Hibernate; testing tools such as JUnit; and application servers including JBoss, WebLogic and WebSphere. These are the most popular development tools.

The other server-side development that is growing is the development of Web services and there are a few new skills that appear in requisitions and on resumes. There are two types of Web services. The first is sometimes referred to as Big Web Services and is based on SOAP (Simple Object Access Protocol) and XML (eXtensible Markup Language). WML defines data exchange, and SOAP defines the rules for making that exchange between two systems or applications. The new kid on the block is called RESTful Web Services, and it's based on HTTP (Hyper Text Transport Protocol) and JSON (Javascript Object Notation). REST (REpresentational State Transfer) is a design methodology for Web applications that use multimedia, combinations of sound, animation, text, and graphics. You can see that with the increasing use of multimedia on the Web, developing RESTful services is used more and more.

Lots of buzz words in this article (which just touched on the most popular terms), but hopefully putting them in categories will help you clear the clutter when you see them and give you a better understanding of Web development!

Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TechCheck


1. What's the newest database design?

2. Web services fall into two categories. What are they?

3. What are iOS and WP7?

4. What's Oracle's entry in the services arena?

5. What's the latest addition to Visual Studio? And, what is its main selling point?

Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Smartphones - Again!


In August I listed Motorola's Droid X as a new smartphone, and today I'm starting with Droid 2 – an even newer smartphone (also from Motorola). The smartphone world is hard to keep up with.

With the phones, it's really become iPhone against Droid. That's where all the noise is. According to most, the iPhone is still winning as the best platform, and whether that will change now seems to depend on the available apps. iPhone is so far ahead in that area, that only if the Droid systems prove using Flash is a definite advantage, will they be able to overtake the iPhone. In the Droid arena, the Droid 2 is rated best (of course it's brand new – out in September) and one of the main reasons is that it supports Flash. This really improves the Web experience. HTC's Evo – it's pretty good too, and considered best by some.

Sometimes it's just hard to keep up! But we'll keep you posted….
Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Short Vocabulary


NoSQL

As more and more information is moving to the Web, and as information grows and grows, the relational database model doesn't always work. The basic fact is that relational design doesn't work well over distributed databases and that's what we have with these huge (trillions of bytes) collections of data. So, lots of new entries in the database field.

BigTable Database system used in cloud computing. Distributed storage system for managing structured data that is designed to scale to a very large size: petabytes (quadrillions of bytes) of data across thousands of commodity servers. Built on GFS (Google File System), and used with Google's AppEngine. Development started in 2004, and the database has been in use since 2005. Hbase, part of HaDoop, is an implementation of BigTable.

Columnar, or column-based database Database design. Similar to relational databases, but the structure is based on the columns, not the rows. This means data is retrieved by columns, putting all the like data together. Column-based databases are up to twenty times faster and require up to 90% less table storage space than traditional RDBMSs. Designed for read-intensive workloads such as data warehouses.

Key-value database Database architecture used in cloud databases. The database has domains instead of tables, and domains contain items.  Items are defined by keys, which can have a dynamic set of attributes. Each item can have a unique schema and contains all the pertinent information about the item. A domain could contain customer items and order items and data is commonly duplicated between items. Data is accessed through APIs (Application Programming Interfaces) commonly following SOAP (Simple Object Access Protocol) or REST (REpresentational State Transfer) standards. These databases scale easily and dynamically and are good for document-oriented data and distributed scalability.

MapReduce Data management function used to process and generate large data sets. Consists of two functions: Map: a master node takes input, chops it into smaller sub-problems, and distributes those to worker nodes. A worker node may do this again, in turn, leading to a multi-level tree structure. Reduce: The master node then takes the answers to all the sub-problems and combines them in a way to get the output - the answer to the problem it was originally trying to solve. This provides distributed processing and all maps can be performed in parallel, and a large server farm can use MapReduce to sort a petabyte (quadrillion bytes) of data in only a few hours. Technology was introduced by Google, who uses this technology for their searches.

NoSQL database Database terminology. Describes a database that does not use SQL for access. In other words, any non-relational database. This includes databases based on Amazon's Dynamo key-value store and Google's BigTable, in addition to document databases (usually in JSON format) and graph databases such as those found in social networks. Term coined in 2009.

SimpleDB Database system. Hosted, or SaaS (Software as a Service), system for running queries on structured data in real time. Provides the core functionality of a database, providing the ability to load and query data. Implements only a small fraction of relational database functionality. Works with Amazon S3 (Amazon Simple Storage Service) and Amazon EC2 (Elastic Compute Cloud). Opened to public beta: December, 2008.
Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Answers to TechCheck


1. NoSQL. That's become the catch-all name of any non-relational database. As different designs are appearing (Google's BigTable, Facebooks's Cassandra, etc.), they are referred to as a group by the name NoSQL – as what they all have in common is that SQL is not used with any of them!

2. Web services are either Big Web Services (which follow SOAP and XML standards) or RESTful services which follow HTTP and JSON. See the article on Web Development in this issue of TechConnections.

3. These are actually shorthands! iOS is the new name of Apple's iPhone OS as of June 2010, and WP7 is the shorthand for Windows Phone 7, the new name of Microsoft's Windows Mobile.

4. It's Oracle Fusion Applications. They've released over 100 specific modules (services) that now give customers the ability to use SOA (Service Oriented Architecture) in seven different product areas. It actually seems quite logical to extend the name of the middleware (Oracle Fusion) for this product.

5. Visual Studio LightSwitch is a development tool that provides templates so users can create apps in Visual Basic or C#. And, that's its main selling point. One tool that supports both of Microsoft's main languages.

Back to top

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Privacy Policy


SemCo Enterprises, Inc. respects your privacy. We do not sell, rent or share your information with anyone.

   
Contents
Happy October!
Teaser
TechKnowledge
TechCheck
Answers to TechCheck
Short NoSQL Vocabulary
Smartphones - Again!
   
SemCo's Newsletter

TechConnections is SemCo's free monthly newsletter that features important IT articles and a unique perspective on IT for the non-technical professional.


   
Teaser
What country hosted the first Robotic Olympics in June of this year?


TechConnections Archived Editions

If you receive the Text version of this newsletter and you'd like to view it in HTML, join our Resources membership, then click on "Register Today."



If you have a technical question while reading TechConnections or if you would like to make a suggestion, send us a quick email - we'll respond, usually within 24 hours!
Back to top

Contact us at:

SemCo Enterprises, Inc.
P. O. Box 195427
Winter Springs, FL 32719-5427
800.860.2179
semco@semcoenterprises.com
http://www.semcoenterprises.com

Copyright © 2010 SemCo Enterprises, Inc. All Rights Reserved (but feel free to quote it, think about it and forward to others.)

You are subscribed as shodges@semcoenterprises.com. To unsubscribe please click here.