I'm liking the fact that we're entering the 4th quarter. This year has been something – and it's really ending up as promised. Things aren't necessarily improving, but they're not getting bad as quickly (mostly about employment, of course). I'm actually taking heart by this and believe the reports that next year will show improvement - with IT in the forefront of industries expected to grow.
Don't miss the "Bring a Friend" article later in this issue. I'm going to be doing another update to CSTA (Computers: Systems, Terms and Acronyms) this month – increasing the coverage of the Cloud, wireless systems, and Web development. We all want to be ready!
Keep in touch – and Keep up!
Here's the schedule or you can view the complete schedule on our Website:
CSTA Web sessions:
October 28, 29
November 18, 19
December 16, 17
UITJ (Understanding IT Jobs) Web sessions:
TR Web sessions:
Keep in touch - I love hearing from you - and keep up with technology!
Back to top
What Really Is Software?
This one used to be pretty simple. Software = programs. Now, however, we just have too many words for "program." Let's start with what a program is – it's a set of instructions that accomplishes a task. Now we have to define task. This is where the problem lies. When we first started using computers, tasks were big. A task was "create paychecks," or "send out the monthly bills," and the resulting programs were large and complex. Creating paychecks consisted of calculating gross pay (commissions, overtime, etc.), then taxes (federal, state, unemployment, etc.), then benefits (insurance, 401K, etc.). The paychecks for employees would have to be printed, the tax payments to the governments (federal, state, maybe even city) sent off with appropriate reports, etc. You get the picture. We quickly turned these huge programs into >systems – a software system has multiple programs working on the overall task. Originally the word was only used for programs that accomplished IT tasks and included operating systems, data base management systems, networking systems, etc. The work "application" was introduced to give a category for software systems that worked on business tasks. So, a system means multiple programs, an application is a program or a system that handles a business function.
Programs can be very big, and programs often have repetitive tasks. For example, a payroll program could produce multiple printed reports. Rather than writing separate instructions for each report, a routine or a module would be written to handle printing, and would be invoked from multiple places within the payroll program. So while the definition of routine or module remains "a set of instructions that accomplishes a task," this particular set of instructions is part of a larger program. Large programs are often created by assembling multiple pre-written routines (or modules). This started the movement toward reusability.
Now we've written a single print routine in a program that can handle multiple reports, but don't most programs print reports? And do we have to write that same routine for every one of these programs? We want code to be reusable and functional. Object-oriented programming came into vogue. We write that print routine as an object and put it in a library, Now any program written in that same object-oriented language (C++, C#, Java, etc.) can use the same print object (or routine or program). We do have to write that print routine in, e.g., both Java and C#, so to create even more reusability we turned objects into components (ActiveX, JavaBeans) which can be accessed through many languages. We're writing that routine only once. Well, only once for the same platform.
We know we have to write programs to run on a specific platform, or platforms. So we're still rewriting that print routine to run both on Windows and Linux platforms. Services is the answer. Our print routine doesn't have to run on the platform the payroll system is running on. In fact, it doesn't even have to run on a platform in the vicinity of our data center. Our payroll system runs on our platform, on our computers in our data center. But, it can send a message over the Internet to programs running on other platforms asking for data, calculations, etc. We can convert currencies to create paychecks in local currencies by using a service (a program) to convert dollars to euros. We'll just send a message with dollars to an, e.g., Sun Trust data center, and their conversion program will send us back a message with the correct amount in euros.
These are the basic words used to describe "a set of instructions accomplishing a task." We have systems and programs – built from routines, modules, objects, components, and service. In addition we got some specialized words including:
Applet A small program, or object, that can be sent from the Internet to the user's system. Applets are used for animation, sound, and interactive forms, etc. Applets can run on any computer equipped with a Java-enabled Web browser. Applets cannot read or write to local files, so the user's system is protected.
kernel The control programs in any operating system. Term originated with Unix and most often refers to Linux and Unix systems although it can be used with any operating environment.
module Series of instructions that accomplish a task. Programs contain definitions of data and processing statements that manipulate the data. Programs come in many forms, and are also referred to as an application, module, routine, object, and/or script.
script A program written in a scripting language. Scripting languages are used for text-processing programs and not for computational-heavy applications. Scripts are used in Internet development for screen design, forms processing, and other fairly simple programs.
Servlet Small programs, or objects, usually created in Java (but can be created in C++). Servlets are created as JavaBean components, and execute in containers which are part of Web servers. Servlets can replace CGI scripts and are more flexible as they are platform independent. They accomplish the same functions as CGI scripts, such as working with Web forms, and accessing data from corporate databases. Technology announced: 1997.
Back to top
1. What's PubSubHubbub?
2. What do the following have in common?
3. What exactly is "unified communications?"
4. And, what is a "unified data center?"
5. What's the difference between netbooks and tablet PCs?
Back to top
We got a call the other day from a good customer – someone we've been working with for many years. They wanted to know what kind of discount we had for multiple enrollments. We gave them our standard discount with a minor improvement for a good friend. It got us thinking though – at this time when we're all facing tough times, couldn't we do better? So, we are repeating a promotion we did years ago and making it even better.
Bring a Friend. Enroll in CSTA (Computers: Systems, Terms and Acronyms), add a second enrollment for half price. The improvement? If two of you enroll, you can enroll a third person for free.
This promotion is for CSTA;
It's good through the end of the year;
The only restriction is that the multiple enrollments must be in the same session.
We're excited about this offer. It's been a tense and troubling year, yet all indications are that next year will be better. Technology has not been as badly hit as other industries and when everything starts coming back, IT will be in the front lines. It's a necessary part of stimulus plans, health care reform, education reform and all the other topics in the news. The 4th quarter is a great time to get ready for a great year! Take advantage of this time to get the training you need to handle everything that we expect to be happening next year.
Back to top
It's really time to look at the cloud again. It's continuing to grow, both in use and functionality. This one is here to stay and is combining all kinds of Web technologies.
cloud storage Storage technology. Data is stored on multiple virtual servers, generally hosted by third parties, rather than being hosted on dedicated servers. Many vendors are offering cloud storage, including IBM, Amazon, EMC, HP, Nirvanix, and Google.
failover A backup operation that automatically switches to a standby database, server or network if the primary system fails or is temporarily shut down for servicing. The backup system mimics the operations of the primary system. Absolutely necessary for systems that rely on constant accessibility.
fault tolerant Terminology. The ability of a system to respond to an unexpected hardware or software failure. Computers that have redundant processors that automatically take over in the event of a failure are said to be fault tolerant. There are many levels of fault tolerance, the lowest being the ability to continue operation in the event of a power failure. Fault-tolerance can be achieved through failover and mirroring.
IaaS (Infrastructure as a Service) IT terminology used with cloud computing. Refers to building or using a data center in the cloud. A service vendor provides the hardware (computers, storage devices, network equipment) and the software (operating systems, virtualization software, network management systems, security, etc.) and companies pay for both based on actual use. This is also referred to as utility computing.
mirroring Storage management technique used to provide fault tolerance (protecting against system failures) by writing to two duplicate disks simultaneously. This way if one of the disks fails, the system can instantly switch to the other disk without any loss of data or service.
multi-tenancy Terminology used in software architecture. Describes a system where a single instance of software is used by multiple clients (or tenants). The software partitions its data and configuration so that each client has its own data, but many clients run off a single program. In fact, vendors run a limited number of applications, each with thousands of users. This means that when the application is updated, all clients receive the update simultaneously. SaaS (Software as a Service) is defined by many people as requiring multi-tenancy.
PaaS (Platform as a Service) Computer terminology. Refers to providing a platform, consisting of hardware and software, on an on-demand, or subscription basis. Part of cloud computing. The hardware includes processors and storage, and the software includes a variety of products to develop, test, and even deploy, host and maintain applications on the same integrated environment. This can include operating systems, development tools, and databases.
replication Data management function. Automatically copying and synchronizing data from one environment to another making necessary changes so the data can be accessed in the new system. Usually means copying it from one database into another. Top application for database replication is HA/DR (high availability/disaster recovery), followed by reporting from online processing (OLTP) systems, and distributing data from a central location to remote locations for faster processing. Also called data propagation.
SaaS (Software as a Service) IT terminology used with cloud computing. Refers to software that is offered on a subscription or lease basis rather than as a packaged product to purchase and bring in-house. The vendor hosts the software and provides the hardware and software necessary to run the application, and users interact with the software through a Web-based front-end. This term is replacing the term ASP (Application Service Provider) and is used synonymously with on-demand applications. Companies can also use a hybrid deployment, which allows customers to either subscribe to or purchase (and bring in-house) the application.
virtualization Systems technology. Pooling together resources throughout the entire enterprise into a single unit that can be managed from a single point. This allows resources to be assigned to a user only as needed, and returned to the pool when free. The resources most commonly affected are storage and servers. Disk Virtualization software manages many physical disks as a single unit. This allows devices to be added without shutting down the system, handles disks from different vendors that have different sizes, speeds, and vendors, and provides the most efficient use of the physical resources by creating virtual devices, e.g. if a system needs more storage, unused space from another disk can be used. SANs (Storage Area Networks) provide storage virtualization.
Back to top
1. No matter what, isn't the name terrific? PubSubHubbub is a plugin from Google that lets people know in real-time when a blog is updated. It runs on Google App engine and is freely available for anyone who wants to use it. Interested parties can subscribe to a topic and receive notification whenever that topic is updated.
2. They're all names used with the smartphone Motorola will be releasing in the 4th quarter. It's a Touchscreen device which integrates information from the user's contacts on a variety of social networks including Facebook, MySpace and Twitter. MotoBlur is the name of the Internet-based service that builds one contact list from contacts on all these sites. Users can then organize this list in a variety of ways. Has a slideout keyboard in addition to the touchscreen, Includes WiFi and 3G connectivity, a 5-megapixel camera and a headphone jack. Operating system: Android.
3. Unified communications is combining real-time communication services such as instant messaging (chat), IP telephony, video conferencing, and call control with non real-time communication such as voicemail, e-mail, SMS (Short Message Service) and fax. Technology that allows individuals to decide whether to do a voice call, add data or build a video call at the push of a button from anywhere. Messages can be built on one service and transmitted to another, e.g. a voice message could become an email.
4. A unified data center provides all the system software needed to run the complete IT function with highly integrated software. Typically there's been one vendor that supplies the operating system, and another that handles the communications functions. Vendors are now offering complete packages either by building partnerships (IBM [Data Center Networking] and Cisco (UCS - Unified Computing System) or supplying everything (HP[BladeSystem Matrix]).
5. Not much. Devices are now available that can be classified by either description. JournE Touch is a great example: It's called a netbook, specifically a MID (Mobile Interface Device) with a 7-inch touch screen. It's also classified as a tablet PC. It's aimed at personal Web surfers and has a large screen for, e.g., viewing and sharing photos, watching high-definition videos and television, interacting with social networks and listening to music.
Back to top
SemCo Enterprises, Inc. respects your privacy. We do not sell, rent or share your information with anyone.