You are on page 1of 19

Technology Overview MySQL Clustering

Technology Overview
Contents –
1. Swing
2. HyperText Markup Language
3. JavaScript
4. Java Server Faces
5. Java Micro Edition
6. C#
7. ASP .net
8. Java API for XML Web Services
9. VirtualBox
10. MySQL
11. GlassFish
12. Internet Information Services
13. NetBeans
14. Visual Studio
15. Windows Vista
16. Windows Server 2003
17. Fedora
18. OpenSolaris
Technology Overview MySQL Clustering

Java Swing
Swing is a widget toolkit for Java. It is part of Sun Microsystems' Java Foundation
Classes (JFC) — an API for providing a graphical user interface (GUI) for Java
programs.

Swing has been developed to build a set of extensible GUI components that enable
developers to develop powerful Java front ends, for commercial applications, more
rapidly. It provides a native look and feel that emulates the look and feel of several
platforms, and also supports a pluggable look and feel that allows applications to
have a look and feel unrelated to the underlying platform.

Swing architecture is rooted in the model-view-controller (MVC) design. MVC


architecture breaks a visual application into three separate parts –

• A model that represents the data for the application.


• The view that is the visual representation of that data.
• A controller that takes user input on the view and translates that to changes in
the model.

But totally separating the view from the control is an unmanageable task. So Swing
implements a separable model design, loosely based on the MVC, which treats the
model part of a component as a separate element, but collapses the view and
controller parts of each component into a single UI (user-interface) object. This
separation provides programs with the option of plugging in their own model
implementations for Swing components.

Swing's pluggable look-and-feel architecture allows us to provide a single component


API without dictating a particular look-and-feel. The Swing toolkit provides a default
set of look-and-feels; however, the API is "open" -- a design that additionally allows
developers to create new look-and-feel implementations by either extending an
existing look-and-feel or creating one from scratch. Although the pluggable look-and-
feel API is extensible, it was intentionally designed at a level below the basic
component API in such a way that a developer does not need to understand its
intricate details to build Swing GUIs.
Technology Overview MySQL Clustering

HyperText Markup Language


HyperText Markup Language (HTML) is a text and image formatting language used by
web browsers to dynamically format web pages. It is used to define how text should
be displayed in a browser and to supplement that text with interactive forms,
embedded images and other objects.

HTML is written in the form of tags surrounded by angle brackets. HTML is also used
to describe the appearance and semantics of a document, and can include
embedded scripting language code (such as JavaScript or VBScript) that can affect
the behavior of Web browsers and other HTML processors.

HTML markup consists of the following key components:

• Elements and their attributes


• Character and Entity references
• Pre-written Document Type Declaration for validation
Technology Overview MySQL Clustering

JavaScript
JavaScript is a scripting language used primarily at the client side for development of
dynamic websites. The primary use of JavaScript is to write functions that are
embedded in or included from HTML pages and interact with the Document Object
Model (DOM) of the page.

JavaScript is characterized by the following features:

• Imperative and Structured – supports all the structured programming syntax


in C
• Dynamic – provides dynamic typing that associates the types with values, not
variables. It also provides an eval function that can execute statements
provided as strings at run-time.
• Prototype-based – uses prototypes instead of classes for defining object
properties, including methods, and inheritance. It is possible to simulate many
class-based features with prototypes in JavaScript.
• First-class functions – Functions are first-class; they are objects themselves. As
such, they have properties and can be passed around and interacted with like
any other object.

Because JavaScript code can run locally in a user's browser it can respond to
user’s actions quickly, making the application feel more responsive. Furthermore,
JavaScript code can detect user’s actions which HTML alone cannot, such as
individual keystrokes.
Technology Overview MySQL Clustering

Java Server Faces

Java Server Faces (JSF) is a new standard Java framework for building Web
applications. It simplifies development by providing a component-centric approach
for developing Java Web user interfaces. JSF also ensures that applications are well
designed with greater maintainability by integrating Model-View-Controller (MVC)
design pattern into its architecture.

Java Server Faces provides

• A set of APIs for representing user interface (UI) components and managing
their state, handling events and input validation, converting values, defining
page navigation, and supporting internationalization and accessibility.
• A standard GUI component framework for tool integration.
• A set of HTML form input elements that represent the server-side GUI
components.
• A JavaBeans model for translating input events to server-side behavior.
• Automatic view presentation, customized to client type (e.g. browser or media
type).

The components in the framework can remember the state. At runtime, the
framework interacts with the user, dispatches and generates views, and invokes
business functions.

JSF uses Java Server Pages to generate browser-specific HTML. The input elements in
the JSP pages correspond to the server-side GUI components. Although JSP pages are
the most common form of presentation, JSF is specifically designed to be
independent of JSP pages. A JSF application could use any presentation technology to
interact with a user.
Technology Overview MySQL Clustering

Java Platform, Micro Edition (Java ME)


Java ME is a Java platform designed for mobile devices and embedded systems. It
was formerly known as Java 2 Platform, Micro Edition (J2ME). Java ME was designed
by Sun Microsystems; to replace a similar technology, PersonalJava. Java ME includes
flexible user interfaces, robust security, built-in network protocols, and support for
networked and offline applications that can be downloaded dynamically.
Applications based on Java ME are portable across many devices; yet leverage each
device’s native capabilities. Java ME provides a wide arsenal of configurations and
profiles supporting a wide range of mobile devices, such as cell phones, and
embedded devices like Set-top boxes and PDAs.

The Java ME Architecture comprises of three software layers –

The first layer primarily consists of the JVM, which directly interacts with the native
OS.
It is followed by the Configuration layer which handles the interaction between the
profile layer and the JVM.
There are two types of configurations involved in Java ME application development,
which are:
• Connected Limited Device Configuration or CLDC -
It contains only the necessary libraries to run a Java ME application.
• Connected Device Configuration or CDC -
It contains most of the libraries of Java SE (excluding GUI related classes) and
hence provides a rich platform for development.

The configuration to be used is mainly decided on the memory capability of the


device. And the JVM underneath the configuration is termed as CVM for CDC and
KVM for CLDC.
The third layer is the profile layer, which consists of the minimum set of application
programming interface (API) for the small devices. One of the most predominant
profiles used in this layer is the MIDP profile. Other profiles available include Dojo,
KJava, etc.
Technology Overview MySQL Clustering

C#
C# is a multi-paradigm programming language that encompasses functional,
imperative, generic, object-oriented (class-based), and component-oriented
programming disciplines. It was developed by Microsoft as part of the .NET initiative.
C# is one of the programming languages designed for the Common Language
Infrastructure.

C# is intended to be a simple, modern, general-purpose, object-oriented


programming language. It has an object-oriented syntax based on C++.

C# has a unified type system called Common Type System (CTS). A unified type
system implies that all types, including primitives such as integers, are subclasses of
the System.Object class. For performance reasons, primitive types (and value types
in general) are internally allocated on the stack.

C# has various features like –

• There are no global variables or functions.


• Local variables cannot shadow variables of the enclosing block, unlike C and
C++.
• Automatic garbage collection.
• More flexible namespaces.
• No switch-case fall-through.
• Variable-length argument lists - printf style formatted output.
• Support for internationalization.
• Memory address pointers can only be used within blocks specifically marked
as unsafe, and programs with unsafe code need appropriate permissions to
run.

All the above features make it a very powerful object-oriented programming


language.
Technology Overview MySQL Clustering

Active Server Pages with .NET


ASP.NET is a web application framework developed and marketed by Microsoft to
allow programmers to build dynamic web sites, web applications and web services. It
is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built
on the Common Language Runtime (CLR), allowing programmers to write ASP.NET
code using any supported .NET language.

.NET pages, known officially as "web forms", are the main building blocks for
application development. Web forms are contained in files with a .aspx extension;
these files typically contain static (X)HTML markup, as well as markup defining
server-side Web Controls and User Controls.

The dynamic program code is dealt by using the code-behind model, which places
this code in a separate file or in a specially designated script tag. Code-behind files
typically have names like MyPage.aspx.cs or MyPage.aspx.vb. When using this style
of programming, the developer writes code to respond to different events, like the
page being loaded, or a control being clicked, rather than a procedural walk through
the document. This allows a web designer, to focus on the design markup with less
potential for disturbing the programming code that drives it.

ASP.NET aims for performance benefits over other script-based technologies


(including Classic ASP) by compiling the server-side code to one or more DLL files on
the web server. This compilation happens automatically the first time a page is
requested.
Technology Overview MySQL Clustering

Java API for XML Web Services


The Java API for XML Web Services (JAX-WS) is a Java programming language API for
creating web services. JAX-WS uses annotations to simplify the development and
deployment of web service clients and endpoints. JAX-WS belongs to the Sun
Microsystems "Core Web Services" group and is typically used in conjunction with
other technologies such as JAXB, JAX-RPC, etc.

JAX-WS is designed to take the place of the Java RPC interface in Web services and
Web based applications. JAX-WS is also used to build Web services and
corresponding clients that communicate using XML to send messages or use remote
procedure calls to exchange data between client and service provider.

JAX-WS represents remote procedure calls or messages using XML-based protocols


such as SOAP, but hides SOAP's innate complexity behind a Java-based API. Clients
create a local proxy to represent a service and then invoke methods on the proxy.
The JAX-WS runtime system converts API calls and matching replies to and from
SOAP messages.
Technology Overview MySQL Clustering

VirtualBox
VirtualBox is an x86 virtualization software package, developed by Sun Microsystems
as part of its Sun xVM virtualization platform. It is installed on an existing host
operating system; within this application, additional operating systems, each known
as a Guest OS, can be loaded and run, each with its own virtual environment.

Supported host operating systems include Linux, Mac OS X, Microsoft Windows, and
Solaris. Supported guest operating systems include Microsoft Windows, Linux,
Solaris, BSD, IBM OS/2 and several others.

Several guest operating systems can be loaded. Each can be started, paused and
stopped independently. The host operating system and guest operating systems can
communicate with each other, using the network facility provided.

Most prominent among the features provided by VirtualBox include –

• Snapshots
• Special drivers and utilities to facilitate switching between systems
• Shared folders
• USB support
• Microsoft VHD support
• 3D Graphic Acceleration
• Remote Display and Multi Monitor Support
Technology Overview MySQL Clustering

MySQL
MySQL is a Relational Database Management System (RDBMS) and is a product of
Sun Microsystems. The program runs as a server providing multi-user access to a
number of databases. It is widely used in mid-tier organizations which need to store,
retrieve and manage huge amounts of data.

MySQL is popular for web applications and acts as the database component of the
LAMP software stack. MySQL works on many different system platforms such as
FreeBSD, Linux, Mac OS X, OpenBSD, OpenSolaris, SunOS, and Microsoft Windows.

Some of the important features provided by MySQL include the following:

• Cross-Platform support
• Stored Procedures
• Cursors
• Triggers
• Updatable Views
• Asynchronous and Synchronous replication

Besides this, features such as multiple storage engines, custom storage engines,
commit grouping are implemented flawlessly by MySQL.

It is used in several high-scale World Wide Web products, such as Google and
Facebook.
Technology Overview MySQL Clustering

GlassFish
GlassFish is an open source application server project led by Sun Microsystems for
the Java EE platform. It is free and is the leading open-source and open community
platform for building and deploying next-generation applications and services.

It uses a derivative of Apache Tomcat as the servlet container for serving web
content, with an added component called Grizzly which uses Java NIO (Non-Blocking
I/O) for scalability and speed.

GlassFish is presently distributed as two versions – Version 2 and Version 3.

Notable features of GlassFish include transaction management, security and several


others. GlassFish has extensive support for Java Enterprise Edition components like,
Web Services, Enterprise Java beans, etc.
Technology Overview MySQL Clustering

Internet Information Services


Internet Information Services (IIS) – formerly called Internet Information Server is a
set of Internet-based services for servers created by Microsoft for Microsoft
Windows.

The services provided by IIS include FTP, FTPS, SMTP, NNTP and HTTP/HTTPS.

IIS features a modular architecture consisting of a core web server. This allows users
to customize the features they need and the functionalities can be extended by using
custom modules.

IIS is the only server compatible with the .net framework and is used mostly to host
ASP.net pages.
Technology Overview MySQL Clustering

NetBeans
NetBeans is a comprehensive, modular IDE (Integrated Development Environment).
It is a platform for building OS-independent applications.

NetBeans is an open source product fully supported by Sun Microsystems Inc. and is
presently the official IDE of Java.

NetBeans was initially planned to be a collection of Network enabled JavaBean


components which coined the name.

A few noteworthy features of NetBeans include –

• Smart source code editor with auto-completion


• Project Manager
• Refactoring Support
• Swing GUI Builder
• Visual Web Developer
• J2EE support
• Mobile Development
• Profiler, Debugger and Version Control

NetBeans supports various technologies like –

• Programming – C, C++, Java, Ruby, Groovy, Python


• Web Development – HTML, CSS, JavaScript, XML, UML, JSP, PHP, EJB
• Web Frameworks and Models – SOA, JSF, JAX – WS, JSTL, Rails, Grails
• Databases – SQL, JDBC, Hibernate
• Rich Internet Applications – JavaFX, AJAX

And several others.


Technology Overview MySQL Clustering

Microsoft Visual Studio

Microsoft Visual Studio is an Integrated Development Environment (IDE) from


Microsoft. It can be used to develop console and graphical user interface applications
along with Windows Forms applications, web sites, web applications, and web
services in both native code together with managed code for all platforms supported
by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET
Compact Framework and Microsoft Silverlight.

Visual Studio includes –

• A debugger that works both as a source-level debugger as well as machine-


level debugger.
• A code editor that supports syntax highlighting and code completion using
IntelliSense for not only variables, functions and methods but also language
constructs like loops and queries. IntelliSense is supported for the included
languages, as well as for XML and for Cascading Style Sheets and JavaScript
when developing web sites and web applications.
• A host of visual designers

And other tools.

It allows plug-ins to be added that enhance the functionality at almost every level -
including adding support for source control systems like editors and visual designers
for domain-specific languages or adding new toolsets for other aspects of the
software development lifecycle.

Built-in languages of Visual Studio include C/C++ (via Visual C++), VB.NET (via Visual
Basic .NET), and C# (via Visual C#). Support for other languages such as Chrome, F#,
Python, and Ruby among others has been made available via language services which
are to be installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript
and CSS.
Technology Overview MySQL Clustering

Windows Vista
Windows Vista is a line of operating systems developed by Microsoft for use on
personal computers, including home and business desktops, notebook computers,
and media centers. Windows Vista is the successor to Windows XP, one of the most
popular Operating Systems in the Windows lineage.

Windows Vista introduced several new features to the Windows line, including:

• Windows Vista includes an updated Graphical User Interface and visual style
dubbed Windows Aero.
• Vista aims to increase the level of communication between machines on a
home network.
• Vista includes the version 3.0 of the .NET framework, allowing software
developers to write applications without traditional Windows APIs.
• Vista introduced several features like Windows Internet Explorer 7, Windows
Media Player 11, Windows Media Center, etc.
• Improved security was a primary design goal to Vista. User Account Control
(UAC) is perhaps the most significant and visible of these changes.
• The Windows Firewall has been upgraded with new support for filtering both
incoming and outgoing traffic.
Technology Overview MySQL Clustering

Windows Server 2003

Windows Server 2003 (also referred to as Win2K3) is a server operating system


produced by Microsoft as the successor of Windows 2000 Server. It is more scalable
and delivers better performance than Windows Server 2000.

Windows Server 2003 comes in a number of editions. Notable of them are –


Windows Small Business Server, Web Edition, Standard, Enterprise, Datacenter,
Compute Cluster Server and Storage Server.

Notable features of Windows Server 2003 include –

• Ability to share files and printers


• Act as an application server
• Host message queues
• Provide email services
• Authenticate users
• Acts as an X.509 certificate server
• Provide LDAP directory services
• Serve streaming media

And several others service-oriented features.


Technology Overview MySQL Clustering

Fedora
Fedora is an RPM-based, general purpose operating system built on top of the Linux
kernel, developed by the community-supported Fedora Project and sponsored by
Red Hat.

Fedora's mission statement is –

Fedora is about the rapid progress of Free and Open Source software.

It has different versions ranging from Fedora 1 to Fedora 11. Before Fedora 7 there
were two main repositories – Core and Extra. Core contained all the base packages
that were required by the OS as well as other packages maintained by Red Hat
developers. Fedora Extras, introduced from Fedora Core 3 was community
maintained. Since Fedora 7, Core and Extras were merged, dropping Core from the
name.

Security is one of the most important features in Fedora. One of the security features
in Fedora is Security-Enhanced Linux, a Linux feature that implements a variety of
security policies, including mandatory access controls, through the use of Linux
Security Modules (LSM) in the Linux kernel.
Technology Overview MySQL Clustering

OpenSolaris
OpenSolaris was founded as an Open Source project by Sun Microsystems in June of
2005, to produce Solaris-compatible operating systems.

It is the first and only System V-based UNIX to have been released into Open Source.

OpenSolaris is primarily built on Solaris and is licensed through GNU.

Features of OpenSolaris include –

• Zetta-Byte File System (ZFS) - The first 128 bit file-system


• RAID-Z model through ZFS
• Image Packaging System – A network based, network aware packaging system
• Operating system level virtualization technology using Solaris Container (
including Solaris Zones )
• Dynamic Resource Pools and Fair Share Scheduler
• DTrace – A dynamic troubleshooting and analysis tool

The features and the Operating Systems support several architectures like – x86 and
SPARC.

You might also like