About Advanced Java Programming
The exciting world of advanced- programming concepts with the three major
Java platforms—Java™ 2 Enterprise Edition (J2EE), Java 2
Standard Edition (J2SE) and Java 2 Micro Edition (J2ME).
Before Java appeared, we were convinced that C++ would replace C as the
dominant application-development language and systems-programming language for
the next decade. However, the combination of the World Wide Web and Java now
increases the prominence of the Internet in information-systems planning and
implementation. Organizations want to integrate the Internet “seamlessly” into
their information systems. Java is more appropriate than C++ for this
purpose—as evidenced by Sun Microsystems’ announcement in 2001 that over 96% of
enterprise application servers support J2EE.
Advanced Graphical User Interface (GUI) Design.
We use advanced Java Swing features to create real-world Java components,
including a Web-browser application with a multiple-document interface. We use
the Model-View-Controller (MVC) architecture and its implementation in the
Swing API. We use to create 2D graphics and 3D worlds. The Java 2D Drawing
Application with Design Patterns. Presents a complex drawing program with which
the user can create shapes in various colors and gradients.
Enterprise Java
Developers use Java for building “heavy-duty” enterprise applications. Explore
the necessary components for implementing enterprise solutions—including
security, database manipulation, servlets, Java Server Pages, distributed
transactions, message- oriented middleware and application servers. Security,
we use secure communications and secure programming. In Enterprise Java it integrates
many technologies, such as Enterprise JavaBeans, servlets, RMI-IIOP, XML, XSLT,
XHTML, (and for wireless application development) WML and cHTML. In this world
of networks and wireless networks, business information must be delivered
securely and reliably to the intended recipients.
Distributed Systems.
Enterprise applications are usually so complex that they run more
efficiently when program components are distributed among different machines in
organizations’ networks. Java introduces several technologies for building
distributed systems—Remote Method Invocation (RMI), Jini, JavaSpaces, Java
Management Extensions (JMX), Jiro and Common Object Request Broker Architecture
(CORBA). CORBA, controlled by the Object Management
Group (OMG), is a mature distributed computing technology for integrating
distributed components written in many disparate languages. Java was originally
intended for networks of programmable devices—Jini assumes that technology role
now. JMX and Jiro are technologies specifically for network management (LANs, WANs,
intranets, the Internet, extranets, etc.).
Java 2 Micro Edition (J2ME) and Wireless Applications.
It is estimated that by 2003, more people worldwide will access the
Internet through wireless devices than through desktop computers. The Java
platform for wireless devices with limited capabilities such as cell phones and
personal digital assistants is Java 2 Micro Edition (J2ME). Wireless Java-Based
Applications Development and J2ME, contains a case study that sends content from
a centralized data store to several wireless clients, including a J2ME client.
Web Services.
Web services are applications that expose public interfaces usable by other
applications over the Web. The area of Web services builds on existing protocols,
such as HTTP, and communicate with XML-based messages. Directory services
enable clients to perform lookups to discover available Web services. The Simple
Object Access Protocol (SOAP) uses XML to provide communication in many Web
services. Many of the technologies used to build Web services.
Employing Design Patterns.
Larger systems, such as automated teller machines or air-traffic control
systems, can contain hundreds of thousands, or even millions, of lines of code.
Effective design is crucial to the proper construction of such complex systems.
Over the past decade, the software engineering industry has made significant progress
in the field of design patterns—proven architectures for constructing flexible and
maintainable object-oriented software. Using design patterns can substantially
reduce the complexity of the design process.
XML.
XML (Extensible Markup Language) use is exploding in the
software-development industry and we use it pervasively throughout the text. As
a platform independent syntax for creating markup languages, XML’s data
portability integrates well with Java’s portable applications and services. XML
basics and DTDs, which define standard XML document structures. Document Object
Model (DOM) API for manipulating XML documents. XSLT (Extensible Stylesheet Language
Transformations—an XML vocabulary for transforming XML documents into other
text-based documents.
Peer-to-Peer Applications.
Peer-to-peer (P2P) applications—such as instant messaging and
document-sharing programs—have become extremely popular. Peer-to-Peer
Applications and JXTA, introduces this architecture, in which each node
performs both client and server duties. JXTA (short for the term “Juxtapose”), defines
protocols for implementing peer-to-peer applications.
Students Like Java
Students are highly motivated by the fact that they are learning a
leading-edge language (Java) and a leading-edge programming paradigm
(object-oriented programming) for building entire systems. Java
immediately gives them an advantage when they head into a world in which the
Internet and the World Wide Web have a massive prominence and corporations need
enterprise systems programmers. Students quickly discover that they can do
great things with Java, so they are willing to put in the extra effort. Java
helps programmers unleash their creativity.
0 Comments