And schools are quickly closing. Not for us, of course. Throughout the years, we've done a lot of training in the summertime. Many people do enroll in the scheduled classes, and companies seem to find the summer a good time to dedicate training. Whatever happens in the summer though, training will still increase in the fall. I don't think that any of us get over the fall "back to school" feeling, and it just feels right to attend class.
The increasing use of BI (Business Intelligence) and business management systems and the turn to SOA (Service Oriented Architecture) are really causing a major change in the way many companies are developing software. We'll be addressing many of the implications of this throughout the next few months. This month we look at computer architecture – looking at the changes in computers that have occurred. The short vocabulary will look at SOA for coverage in July, and then we'll take another look at on-demand technology. It will be an interesting summer!
The public class schedule follows or view it on the Website:
CSTA Web sessions: June 7,8 July 6,7 August 2,3
CSTA classroom sessions: June 30 - Chicago area July 12 - Atlanta; 28 - New York City August 11 - DC area UITJ (Understanding IT Jobs) Web sessions: June 8 July 7 August 3
TR Web session: August 23
Keep in touch . . .
 Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Computer Architecture - Servers
For a long time all computers were made the same – a processor, I/O (Input/Output), and memory. Then they started getting smaller – and bigger – and specialized – and virtualized. There are now different ways to build computer systems, and this adds new terms and concepts to the very basics of IT. We're used to seeing changes in our desktop systems and certainly know that they get smaller and faster, but there have also been significant changes in server machines.
The Web and the growth of online systems have created a need for flexible systems that can respond to an unknown number of users. No one knows how many people will be on the Internet at any given time, and events can generate unpredictable traffic to a Web site. Amazon has to manage all the customers that link to the site when Oprah makes a book club pick! All of a sudden more processors are needed.
The first response to increased processing needs was to simply use more than one computer to provide parallel computing (or parallel processing), in which the program execution was distributed over several processors. This would allow, e.g., an order processing program at J. R. Toys to use one processor to check the inventory for teddy bears, while a second processor ran the program to check for Barbie dolls, and a third processor worked with coloring books – all at the same time.
The term parallel processing has been replaced by computer clusters. A cluster with only two computers is usually called a fault-tolerant or HA (high availability) system, as its purpose is to have a second processor ready to take over the system if the first fails. Clusters with multiple computers additionally share files and devices by distributing incoming requests for data and services across multiple systems. The most popular clusters today are Linux clusters where all the processors run under Linux.
Some clusters are also referred to as server farms. A server farm is a group of computers acting and housed together in a single location. These systems usually include fault tolerance functions and operate as a single computer with the same application. Network switches and routers connect the different servers in the farm and the users of the system. Server farms are commonly used for Web hosting, and by ISPs (Internet Service Providers) that provide Web-hosting services using multiple servers.
The performance of computer clusters is actually limited by the data center's cooling system rather than by the speeds and functions of the processors themselves. As the number of processors is increased, the heat increases, and heat is always a problem with computer systems. The latest upgrade to computer architecture has been the introduction of server blades in 2001. A server blade system is built by stacking physically small parts (blades) of a computer system in a rack to occupy less space. Each blade can include processors, memory, storage (disks) and network connections, and all share the common power and air-cooling resources of the rack (also called a chassis). The blades can be switched in and out without shutting down the system. Total systems are called blade, hyper dense, or ultra dense servers. The heat is somewhat controlled by the smaller devices, and this design does increase the number of processors that can be running at the same time.
Parallel processing became clustering, which grew into server farms, and actually many modern supercomputers are gigantic server farms of high-speed processors. Supercomputers are designed to process complex scientific applications and speed is the most important feature in their design. MPP (Massively Parallel Processor) systems are powerful supercomputers, as are supercomputers built by clustering many processors, a technique defined as Beowulf technology. Today's supercomputers are typically custom designs for specific purposes, and vendors such as IBM build a single machine such as the Blue Gene L for Lawrence Livermore National Laboratory. This is currently the fastest machine in the world operating at speeds of 135.5 trillion calculations a second. This machine is to work out the safety, security and reliability requirements for the United States' nuclear weapons stockpile, without the need for underground nuclear testing.
Supercomputers have been used in the scientific world for decades, but haven't been needed in business computing. That's quickly changing with the availability of massive amounts of data in warehouses and over the Internet, with data and text mining, and with business intelligence and business management applications that, in fact, do extensive processing. The business world might not yet need the Blue Gene computer, but it does need computer clusters and server farms. IT continues to grow – starting with the hardware.
Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. What's an interactive Taxi?
2. Which of the following does not belong? a) Ant b) Bug c) Butterfly d) Stinger e) Wasp
3. We turn LAMP (Linux, Apache, MySQL, PHP) into WAMP by replacing Linux with Windows. So what's LEAP?
4. Terabytes (a trillion bytes [characters]) have become the norm in many companies. Is this as big as it gets?
5. What is the relationship between memory leaks and garbage collection (in the context of IT)? And, what's a well-behaved program?
Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you're not using TechRef regularly, you're not keeping up! Technology is once again moving quickly, and there is no other resource available that lets you keep up with the changes in technology. Remember, this resource is written for business men and women – in plain English without the usual technical jargon you have to wade through. Look at what's happened to TechRef so far this year.
Definition changes: As of June 1st, there have been 1,607 definitions changed, or added, to TechRef in 2005. Each month over 300 definitions are added or updated to keep this database current. These changes reflect so many things: · New products: Obviously, getting new products into TechRef is of prime importance. · New vendors: So is adding new vendors. While it's not quite back to the 1990s, we're seeing IT startups again. · New versions: When vendors release a new version, the date, the critical changes and the release number are updated. · New initiatives: New standards, new ideas from vendors, associations, consortiums, etc. · Acquisitions: TechRef keeps track of vendor and product acquisitions so you can follow these changes.
Technical Shorts: This section of TechRef examines confusing, new, or newly popular technologies. Each month a topic is examined and coverage of the systems, terminology, and products that are part of this technology are covered. So far this year: · January: Data – the New Frontier, covers data harvesting, data integration, deferated databases, and EII (Enterprise Information Integration). · February: Storage Management and SANs, explains why IT departments now need a Storage Manager, or Storage Administrator. · March: How Programs Run, explains how online programs execute via application servers and runtime environments. · April: Voice is Here and Getting Louder, we all see the increase of voice communications and this article addresses the technologies. · May: Embedded Systems, covers the skills and products used by developers to build the programs into our cars, microwaves, etc.
In addition, all 17 papers have been updated and are copies of the new explanations from the newly-released 15th edition of Computers: Systems, Terms, and Acronyms. New categories have been added to reflect the changes in IT - SOA (Service Oriented Architecture) grows in acceptance, and online systems and knowledge management systems just plain grow!
TechRef is like any other tool, you have to use it to appreciate it. If you're not using it regularly, start doing so – you'll wonder how you ever got along without it.
Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Service Oriented Architecture
Since the 1970s, various techniques for modular programming that would allow software to be reused have been introduced. SOA is the latest technology, and is growing by leaps and bounds. Vendors are producing software that will allow companies to convert to an SOA environment; the Gartner Group estimates that it will be the dominant development technique by 2008; Web services are a form of SOA. It's time to take a good look at SOA.
extensible, extensibility A characteristic of an entity that allows its capabilities to be extended. Entities include programs, systems, programming languages, protocols - actually any IT resource. This is the prime characteristic of XML (eXtensible Markup Language)as the language can be extended by users, programmers, designers, etc. who define new formatting markup tags. In other cases, extensibility is only one of many characteristics.
interoperable, interoperability The principle that different systems must be able to communicate and exchange data easily. This means that programs can communicate with each other no matter what platform they are running on. This requires a standard way of communicating with each other that is consistent across platforms, systems, and languages.
loosely coupled Loosely coupled is a description of both hardware and software systems in which the parts of the system are joined by interfaces that are designed to reduce interdependencies across the parts. A loosely coupled system reduces the risk that changes in one part will create unanticipated changes within other parts. In hardware, MPP (Massively Parallel Processors) systems are computers with thousands of "loosely coupled" processors. In a loosely coupled software system the components, even if they use incompatible system technologies, can be joined together on demand to create composite services, or disassembled just as easily into their functional components.
reuse, reusable, reusability Application development concept. Creating data and/or programs that can be used by many applications. This requires building software in well-defined modules and maintaining some type of directory to these programs so developers can find and reuse them. The concept has been in use since the introduction of modular programming in the 1970s, and has gone through many variations. Currently it is central to SOA (Service Oriented Architecture) which is based on building reusable services.
scalable, scalability Terminology that refers to the ability for a product - hardware, software, or data - to work in any size environment. When referring to software, it means that the programs will work when moved from a desktop computer to a larger, enterprise computer system. Scalable hardware systems can grow in size without functional changes. Scalable data systems will handle the growth of data systems.
service A service is a program that has a specific function, typically a business function, such as analyzing an individual's credit history or processing a purchase order. A service can provide a single discrete function, such as converting one type of currency into another, or it can perform a set of related business functions, such as handling the various operations in an airline reservations system. Services are used by other programs which need to know little about the service except what it does and how to communicate with it. If the service changes (e.g., the credit check service adds an additional check to the credit analysis), this does not affect the way users communicate with it. Users of the service care only about what the service does and are not concerned with how it does it. Therefore these programs (services) can be written in any language, run on any platform, use any database, etc.
SOAP (Simple Object Access Protocol) Communications protocol defining communications between components. Request/response protocol used to provide Web services. Uses XML (eXtensible Markup Language), HTTP (HyperText Transfer Protocol). Contains three parts: 1) a framework for describing what is in a message; 2) a set of encoding rules for application-defined datatypes; and 3) a convention for RPCs (Remote Procedure Calls) and responses. Developed: 2000. Version 1.2 extends the protocol to allow users to transfer information using SMTP (Simple Mail Transfer Protocol), TCP/IP, BEEP (Blocks Extensible Exchange Protocol) and IBM's MQSeries. Version 1.2 was finalized: 2003.
UDDI (Universal Description, Discovery, and Integration) Communications. eCommerce registry. Used by businesses to list information about themselves on the Internet to make systems interoperable with other companies. Businesses are listed by name, product, location, or Web services. Spearheaded by Microsoft, IBM, and Ariba. UDDI specifications incorporate standards such as XML (eXtensible Markup Language), HTTP (HyperText Transfer Protocol), and DNS (Domain Name Services). Established: 2001. Version 3.0 offers increased security and stronger verification and lets users create hierarchical registries, and other enhancements. Released in 2002 and recommended as a Web services standard by W3C in January, 2005.
Web services Application software. A form of SOA (Service Oriented Architecture) in which modular applications conform to standard technologies and perform a specific business task. For example, a bank could build an application that would amortize a loan. As long as the application conformed to the standards and could be invoked over the Internet, it can be defined as a Web service. Web services can be this simple or could be as complex as car rental companies being able to invoke auto insurance by a simple click. In either case, the standards that have been accepted are SOAP (Simple Object Access Protocol), XML (eXtensible Markup Language), UDDI (Universal Description, Discovery, and Integration), and WSDL. (Web Services Definition Language).
WSDL (Web Services Definition Language) Development language used with XML (eXtensible Markup Language). Used to define XML grammar to describe network services and provide documentation for distributed systems. Often used to describe the requests that a Web service can accept.
XML (eXtensible Markup Language) Markup language used to create documents that define the exchange of data between two systems or applications. Its most common uses have been in enterprise application integration, linking legacy systems to newer systems such as intranets and Web sites, and for B2B data exchange. Users define the content of a document or Web page, rather than the presentation of it (see XSL for presentation). XML is text-based and can be used on any platform. It formats data by using document tags to catalog information and allows users to define as many tags as they wish. Key elements in a document can be categorized according to meaning. Instead of a search engine selecting a document by the metatags listed in its header, a search engine can scan through the entire document for the XML tags that identify individual pieces of text and images. It's accepted as a standard by W3C, and is used in ecommerce to enable business partners to standardize specific XML syntax to describe, e.g., purchase orders. Also used in EDI (Electronic Data Interchange) systems, used to define metadata, and in WBEM (Web-Based Enterprise Management). Based on SGML (Standard Generalized Markup Language). Defined: 1997.
Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Interactive Taxi is an idea, a product, and a company. Taxicabs are equipped with interactive, GPS (Global Positioning System) units that can display city and tourist information, taxi fares, rules, location information. The system also contains a credit card billing and verification system so passengers can charge their taxi rides. Advertising pays for the entire system. The system is in use in Boston, Chicago, and San Francisco, and New York has mandated that its 16,000 taxis be equipped with the system in 2005.
2. b) bug does not belong. The others are vendor products and bug is a generic term for an error. a. Ant is an open source development tool, often called a build tool. It's part of the Apache project and used with other Apache open source tools (Jakarta, Tomcat, Struts, etc.) b. Butterfly is a nickname for IBM's Thinkpad laptop computers. c. Stinger is the development name for version 8.2 of DB2 UDB. d. Wasp is a suite of products used for Web services development.
3. No, it's not the security protocol – LEAP (Lightweight Extensible Authentication Protocol). This time it's substituting a database for MySQL and stands for Linux, Apache, EDB (EnterpriseDB), PHP. EDB is a new open source database that's currently in Beta and purports to be a more robust database than MySQL, and better for enterprise development. It should be released this summer, and we'll see what happens.
4. No. In fact, we've reached the next level which is a petabyte, a quadrillion, or a thousand terabytes. Expressing this as 1,000,000,000,000,000 bytes really looks impressive. There's a database in the Netherlands with a 1.5 petabyte storage network for the storage of all old and new public television and the Wayback Machine contains approximately 1 petabyte of data and is currently growing at a rate of 20 terabytes per month. Following this will be: a. Exabytes, 1,000,000,000,000,000,000 b. Zettabytes, 1,000,000,000,000,000,000,000 c. Yottabytes. 1,000,000,000,000,000,000,000,000
5. A memory leak occurs when memory is allocated for program use, but is not returned to free space when the program is finished with it. During execution programs request storage for both program execution and data buffering and need to return this storage to free space when they are finished, or when the program ends. A well-behaved program does this, but not all programs are well-behaved. In addition, if a program crashes the memory it has been using can remain flagged as "in use." While "memory leak" sounds like an odd term, it really means free space is leaking away. Garbage collection is a term that was first introduced with the LISP programming language in the 1970s, and is a function of current object oriented languages including Java and C#. It refers to the automatic detection and release of storage that is no longer being used. Individual programs do not have to program this, and garbage collection prevents memory leaks. Operating systems and communications systems also have garbage collection functions.
Back to top
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SemCo Enterprises, Inc. respects your privacy. We do not sell, rent or share your information with anyone.
|