Download Apache Software Foundation STRUTS Project

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
CIS 498/698 Projects in Distributed Computing
Give me an email ([email protected]) if you are interested (1, 2, 3, or 4 credits).
Students typically discuss a topic with me, research it and get it going, then when it is about half
way done, register for the CIS 698 course even during the semester).
Some Suggested Project Topics
RMI: Deploy a real “bridge” playing program. Or, an advanced project involving the use of
RMI/J2EE Design Patterns.
J2EE applications
Sun’s J2EE Reference Implementation:
Implementation of Deitel & Deitel examples deploying Entity and Session Beans, + other
web examples, and documentation.
Web Services: (Invented in 2000 by Microsoft for their .NET platform) How about building a
“real” bridge playing program that runs on all platforms (>1 credits) via Web Services. Lots of
other neat things to build using Java/.NET Web Services You can use sun’s JWSDP to build a
java based web server/client or use Microsoft’s .NET Web Services to build a vb/c# based web
server/client. Or you could use WebLogic’s built in Web Services! You could build a web
service that culls information from several existing web services in the real world (like
amazon.com’s web service).
Microsoft .NET:
In June 2000 Microsoft announced its .NET initiative, a broad new vision for incorporating the
Internet and the Web in development, delivery and use of software. Web services are a key
component of the .NET strategy, and Microsoft provides extensive tools for developing and
interacting with Web services Visual Studio .NET is Microsoft’s integrated development
environment and is used for creating and consuming Web services. .NET Framework is at the
heart of the .NET strategy. This framework manages and executes applications and Web
services, provides a class library (called the Framework Class Library (FCL), enforces security
and supplies many other programming capabilities. Another central part of the .NET framework
is the Common LanguageRuntiime (CLR) which executes programs written in any .NETcompatible programming language. Lots of projects mentioned under Web Services and
ADO.NET.
1
What is the Microsoft .NET Architecture?
The Microsoft .NET architecture is the programming model for the .NET platform. The .NET
Framework provides a managed execution environment, simplified development and
deployment, and integration with a wide variety of programming languages.
The .NET Framework has two key parts:

The .NET Framework class library is a comprehensive, object-oriented collection of
reusable types that you can use to develop applications. The .NET Framework class
library includes ADO.NET, ASP.NET, and Windows Forms.

The common language runtime (CLR) is the core runtime engine for executing
applications in the .NET Framework. You can think of the CLR as a safe area--a
"sandbox"-- inside of which your .NET code runs. Code that runs in the CLR is called
managed code. It is fully protected from the outside environment and highly optimized
within, taking advantage of the services that the CLR provides such as security,
performance, deployment facilities, and memory management, including garbage
collection.
WebLogic 8.1: Deploy a serious bookstore. BEA already has a good example of a serious
petstore in its examples. Try to deploy D&D advjhtp CH 21 BEA WebLogic Deitel Bookstore.
Or, play with and learn the latest new type of EJB, the message-bean.
Explore Bluetooth using Java: Bluetooth is a low-power wireless (500 x less than the well
known 802.11b wireless LAN technology) communication protocol (similar to HTTP, FTP,
IMAP etc.) that uses a low power Bluetooth radio (through walls unlike infrared technology) for
communication between close (30-to-300(class 1 Bluetooth) feet vs. 802.11 300 feet or more)
low-power peripheral devices (and voice communication). For example: a Bluetooth-enabled
mobile phone can lookup a telephone number in a contact list on a Bluetooth-enabled PDA (no
wires, no hassle). If you’ve taken CIS 632 (or even if you haven’t) Bluetooth can be easily
combined with J2ME MIDP. See “Bluetooth for Java” by Bruce Hopkins by Apress.
2
Creating a Customized Portal (http://www.sys-con.com/story/?storyid=46966&DE=1)
It used to be difficult if you wanted to create a Web-based site that offered users the ability to
access various systems from a single page. Systems were too severely disjointed and required a
huge investment of time and work in order to bring them together in a single Web page. If you
visit the Apache.org Web site (www.apache.org), you'll find the portals project. You should
download and install the Pluto project and begin to generate some portlets. Pluto is the reference
implementation for the portlets technologies and, as such, is completely compliant with the latest
and greatest iteration of the portlet specification.
MOM: (Messge-Oriented-Middleware), JMS (Java Message Service) Lots of neat things to
build here too (asynchronously!).
CORBA: See WWW via google.
JINI: See D&D advjhtp and the www via google. Exploration of its use following sun micro
web course example, both implementing and documenting.
STRUTS: (http://www.assortedinternet.com/struts-documentation/index.html)
Why do we need Struts?
Java technologies give developers a serious boost when creating and maintaining applications to
meet the demands of today's public Web sites and enterprise intranets. Struts combines Java
Servlets, Java ServerPages, custom tags, and message resources into a unified framework. The
end result is a cooperative, synergistic platform, suitable for development teams, independent
developers, and everyone in between.
How does Struts work?
Java Servlets are designed to handle requests made by Web browsers. Java ServerPages are
designed to create dynamic Web pages that can turn billboard sites into live applications. Struts
uses a special Servlet as a switchboard to route requests from Web browsers to the appropriate
ServerPage. This makes Web applications much easier to design, create, and maintain.
Apache Software Foundation STRUTS Project
Struts is an Apache Software Foundation project, with the mission to "provide secure, enterprisegrade server solutions based on the Java Platform that are developed in an open and cooperative
fashion".
The goal of this project is to provide an open source framework for building web applications.
The core of the Struts framework is a flexible control layer based on standard technologies like
Java Servlets, JavaBeans, ResourceBundles, and Extensible Markup Language (XML), as well as
various Jakarta Commons packages. Struts encourages application architectures based on the
Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm.
3
Struts provides its own Controller component and integrates with other technologies to provide
the Model and the View. For the Model, Struts can interact with any standard data access
technology, including Enterprise Java Beans, JDBC, and Object Relational Bridge. For the View,
Struts works well with JavaServer Pages, including JSTL and JSF, as well as Velocity
Templates, XSLT, and other presentation systems.
The Struts framework provides the invisible underpinnings every professional web application
needs to survive. Struts helps you create an extensible development environment for your
application, based on published standards and proven design patterns.
Struts is part of the Apache Jakarta Project, sponsored by the Apache Software Foundation. The
official Struts home page is at http://jakarta.apache.org/struts.
ADO.NET:
This new data component, ADO.NET, introduced with .NET, presented an exciting new
approach to data access. Though the techniques, and logic used to connect to databases
with ADO.NET weren't startlingly different from those used with its predecessor (ADO),
ADO.NET had a lot to offer. What was unique about this technology was the architecture
beneath it all, its powerful approach to data management, and the flexibility in the next
level of data-presenting devices.
ADO, for its time, was certainly successful. Although the re-releases of the technology
hadn't heralded dramatic change for ADO, it achieved what it had to within its own
architecture. However, it was continually plagued by problems that surrounded its handling
of disconnected data stores, and functioning properly and concisely with XML. This is where
ADO.NET stepped in - these are the two things the new technology easily manages, as XML
is the core component of the entire .NET Framework! ADO.NET was simply created to
remedy all the deficiencies found in ADO, and provide developers with the power to achieve
more with less.
What is ADO.NET?
4
ADO.NET is the data access component for the .NET Framework. ADO.NET leverages the
power of XML to provide disconnected access to data.
ADO.NET is made of a set of classes that are used for connecting to a database, providing
access to relational data, XML, and application data, and retrieving results. ADO.NET data
providers contain classes that represent the provider’s Connection, Command, DataAdapter,
and DataReader objects (among others).
The following figure shows how ADO.NET fits into the communication between a Web
client and the DBMS.
How Does ADO.NET Work?
5
ADO.NET makes it possible to establish a connection with a data source, send queries and
update statements to the data source, and process the results.
ADO.NET has several key components:

Application or component, which processes and calls ADO.NET functions to
submit SQL statements and retrieve results

DataSet, an in-memory cache of data which functions like a disconnected XML
data cache. The overall functions of the DataSet closely recall those of an inmemory database. The DataSet is designed to run in the application space wherever
the logic requires local data. This helps increase scalability of systems by reducing
load on the major database backends and enabling local processing of data across
whatever tier the application requires. For flexibility, the DataSet provides XML and
relational interfaces of the data to the developer.

DataReader which provides a direct, read-only SQL interface to the backend. The
DataReader is a component of the data provider.

.NET Data Provider, which connects an ADO.NET application to the backend data
store. The data provider comprises the Connection, Command, DataReader, and
DataAdapter objects. The data provider supplies connection information through the
Connection object.
The following figure shows a scenario in which the application and the data provider are
both built with managed code. The application can connect to a database using either a
DataSet and a DataAdapter, or a DataReader.
6
Why Do Application Developers Need ADO.NET?
ADO.NET provides a comprehensive caching data model for marshalling data between
applications or services with facilities to optimistically update the original data sources.
This enables developers to get started with XML while leveraging existing skills with SQL
and the relational model. Although the ADO.NET model is different from the existing ADO
model, the same basic concepts include provider, connection, and command objects. By
combining the continued use of SQL with similar basic concepts, current ADO developers
should be able to migrate to ADO.NET over a reasonable period of time.
7